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
|
pass
|
||||||
def alarm_handler(signal, frame):
|
def alarm_handler(signal, frame):
|
||||||
raise Alarm
|
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)
|
old_alarm = signal.signal(signal.SIGALRM, alarm_handler)
|
||||||
try:
|
try:
|
||||||
try:
|
try:
|
||||||
@@ -907,6 +911,9 @@ class TCPTimeoutTest(SocketTCPTest):
|
|||||||
self.fail("got Alarm in wrong place")
|
self.fail("got Alarm in wrong place")
|
||||||
finally:
|
finally:
|
||||||
# no alarm can be pending. Safe to restore old handler.
|
# no alarm can be pending. Safe to restore old handler.
|
||||||
|
if hasattr(get_hub(), 'signal'):
|
||||||
|
myalarm.cancel()
|
||||||
|
else:
|
||||||
signal.signal(signal.SIGALRM, old_alarm)
|
signal.signal(signal.SIGALRM, old_alarm)
|
||||||
|
|
||||||
class UDPTimeoutTest(SocketUDPTest):
|
class UDPTimeoutTest(SocketUDPTest):
|
||||||
|
Reference in New Issue
Block a user