wireprotoserver: ensure that output stream gets flushed on exception
Previously flush was happening due to Python finalizer being run on
`BufferedWriter`. With upgrade to Python 3.11 this started randomly
failing.
My guess is that the finalizer on the raw `FileIO` object may
be running before the finalizer of `BufferedWriter` has a chance to run.
At any rate, since we're not relying on finalizers in the happy case
we should also not rely on them in case of exception.
{
"version": 1,
"project": "mercurial",
"project_url": "https://mercurial-scm.org/",
"repo": "..",
"branches": ["default", "stable"],
"environment_type": "virtualenv",
"show_commit_url": "https://www.mercurial-scm.org/repo/hg/rev/",
"benchmark_dir": "benchmarks",
"env_dir": "../.asv/env",
"results_dir": "../.asv/results",
"html_dir": "../.asv/html"
}