Signal handler doesn`t handle any signals while main thread is blocked

Grzegorz Kokosiński g.kokosinski at gmail.com
Mon May 26 08:26:15 EDT 2008


Hi!
I waste a lot of my time figuring why this snip of code doesn`t work.
And still without any solution ;/
Does anybody know why this handler cannot handle SIGINT signal? What
did I wrong?

Thanks in advance.

#
# CODE
#
import signal
from threading import *

def siginthandler(signum, frame):
     global work,cv
     print 'terminating...'
     cv.acquire()
     work = 0
     cv.notifyAll ()
     cv.release()

work = 1
signal.signal (signal.SIGINT, siginthandler)

print 'wait for SIGINT signal'
cv = Condition ()
cv.acquire()
while work:
    print 'waiting...'
    cv.wait()
print 'woke up'
cv.release()

print 'terminated'



More information about the Python-list mailing list