fix test_socket.py: to use hub's signal method if available (for libevent hub)
This commit is contained in:
@@ -888,6 +888,10 @@ class TCPTimeoutTest(SocketTCPTest):
|
||||
pass
|
||||
def alarm_handler(signal, frame):
|
||||
raise Alarm
|
||||
from eventlet.api import get_hub
|
||||
if hasattr(get_hub(), 'signal'):
|
||||
myalarm = get_hub().signal(signal.SIGALRM, alarm_handler)
|
||||
else:
|
||||
old_alarm = signal.signal(signal.SIGALRM, alarm_handler)
|
||||
try:
|
||||
try:
|
||||
@@ -907,6 +911,9 @@ class TCPTimeoutTest(SocketTCPTest):
|
||||
self.fail("got Alarm in wrong place")
|
||||
finally:
|
||||
# no alarm can be pending. Safe to restore old handler.
|
||||
if hasattr(get_hub(), 'signal'):
|
||||
myalarm.cancel()
|
||||
else:
|
||||
signal.signal(signal.SIGALRM, old_alarm)
|
||||
|
||||
class UDPTimeoutTest(SocketUDPTest):
|
||||
|
Reference in New Issue
Block a user