Mercurial > hg
view tests/killdaemons.py @ 15017:f4522df38c65
wireproto: add out-of-band error class to allow remote repo to report errors
Older clients will still print the provided error message and not much else:
over ssh, this will be each line prefixed with 'remote: ' in addition to an
"abort: unexpected response: '\n'"; over http, this will be the '---%<---'
banners in addition to the 'does not appear to be a repository' message.
Currently, clients with this patch will display 'abort: remote error:\n' and
the provided error text, but it is trivial to style the error text however is
deemed appropriate.
author | Andrew Pritchard <andrewp@fogcreek.com> |
---|---|
date | Tue, 02 Aug 2011 15:21:10 -0400 |
parents | 13a1b2fb7ef2 |
children | eddfb9a550d0 |
line wrap: on
line source
#!/usr/bin/env python import os, time, errno, signal # Kill off any leftover daemon processes try: fp = open(os.environ['DAEMON_PIDS']) for line in fp: try: pid = int(line) except ValueError: continue try: os.kill(pid, 0) os.kill(pid, signal.SIGTERM) for i in range(10): time.sleep(0.05) os.kill(pid, 0) os.kill(pid, signal.SIGKILL) except OSError, err: if err.errno != errno.ESRCH: raise fp.close() except IOError: pass