18 lines
325 B
Python
18 lines
325 B
Python
import signal
|
|
import sys
|
|
import threading
|
|
import time
|
|
|
|
if "deadlock" in sys.argv:
|
|
lock = threading.Lock()
|
|
|
|
def trap(sig, frame):
|
|
lock.acquire()
|
|
|
|
# get the lock once
|
|
lock.acquire()
|
|
# and take it again on SIGTERM signal: deadlock.
|
|
signal.signal(signal.SIGTERM, trap)
|
|
|
|
while 1:
|
|
time.sleep(1)
|