import os
import sys
import time
import errno
from warnings import warn
from multiprocessing.util import Finalize
from rhodecode import __platform__, PLATFORM_WIN
if __platform__ in PLATFORM_WIN:
import ctypes
def kill(pid):
def kill(pid, sig):
"""kill function for Win32"""
kernel32 = ctypes.windll.kernel32
handle = kernel32.OpenProcess(1, 0, pid)
return (0 != kernel32.TerminateProcess(handle, 0))
else:
kill = os.kill
class LockHeld(Exception):
pass
class DaemonLock(object):
"""daemon locking
USAGE:
try:
l = DaemonLock(desc='test lock')
main()
l.release()
except LockHeld:
sys.exit(1)
"""
Status change: