view tests/killdaemons.py @ 747:9300f48786de

test: prepare test for core changeset 9c78ed396075 New changeset in mercurial 2.8 (9c78ed396075) change rebase behavior to preverse the original working directory. This break an handfull of test so we preventively update to tip after rebase.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Fri, 15 Nov 2013 18:53:29 -0500
parents cc592295900f
children 88e61e45026d
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