mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Take out my (long since disabled) POSIX signal mask handling code.
I'm not going to have the time or energy to get this working x-platform -- anyone who does is welcome to the code!
This commit is contained in:
parent
94afd3095e
commit
43ed43bfc1
5 changed files with 6 additions and 289 deletions
|
@ -64,64 +64,3 @@ except KeyboardInterrupt:
|
|||
if verbose:
|
||||
print "KeyboardInterrupt (assume the alarm() went off)"
|
||||
|
||||
|
||||
if hasattr(signal, "sigprocmask"):
|
||||
class HupDelivered(Exception):
|
||||
pass
|
||||
def hup(signum, frame):
|
||||
raise HupDelivered
|
||||
def hup2(signum, frame):
|
||||
signal.signal(signal.SIGHUP, hup)
|
||||
return
|
||||
signal.signal(signal.SIGHUP, hup)
|
||||
|
||||
if verbose:
|
||||
print "blocking SIGHUP"
|
||||
|
||||
defaultmask = signal.sigprocmask(signal.SIG_BLOCK, [signal.SIGHUP])
|
||||
|
||||
if verbose:
|
||||
print "sending SIGHUP"
|
||||
|
||||
try:
|
||||
os.kill(pid, signal.SIGHUP)
|
||||
except HupDelivered:
|
||||
raise TestFailed, "HUP not blocked"
|
||||
|
||||
if signal.SIGHUP not in signal.sigpending():
|
||||
raise TestFailed, "HUP not pending"
|
||||
|
||||
if verbose:
|
||||
print "unblocking SIGHUP"
|
||||
|
||||
try:
|
||||
signal.sigprocmask(signal.SIG_UNBLOCK, [signal.SIGHUP])
|
||||
except HupDelivered:
|
||||
pass
|
||||
else:
|
||||
raise TestFailed, "HUP not delivered"
|
||||
|
||||
if verbose:
|
||||
print "testing sigsuspend"
|
||||
|
||||
signal.sigprocmask(signal.SIG_BLOCK, [signal.SIGHUP])
|
||||
signal.signal(signal.SIGHUP, hup2)
|
||||
|
||||
if not os.fork():
|
||||
time.sleep(2)
|
||||
os.kill(pid, signal.SIGHUP)
|
||||
time.sleep(2)
|
||||
os.kill(pid, signal.SIGHUP)
|
||||
os._exit(0)
|
||||
else:
|
||||
try:
|
||||
signal.sigsuspend(defaultmask)
|
||||
except:
|
||||
raise TestFailed, "sigsuspend erroneously raised"
|
||||
|
||||
try:
|
||||
signal.sigsuspend(defaultmask)
|
||||
except HupDelivered:
|
||||
pass
|
||||
else:
|
||||
raise TestFailed, "sigsupsend didn't raise"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue