from __future__ import print_function
import sys
# Using a direct import of signal (deprecated).
# We are also called from test__core_loop_run_sig_mod.py,
# which has already done 'import gevent.signal' to be sure we work
# when the module has been imported.
from gevent import core, signal
loop = core.loop(default=False)
signal = signal(2, sys.stderr.write, 'INTERRUPT!')
print('must exit immediately...')
loop.run() # must exit immediately
print('...and once more...')
loop.run() # repeating does not fail
print('..done')
print('must exit after 0.5 seconds.')
timer = loop.timer(0.5)
timer.start(lambda: None)
loop.run()
timer.close()
loop.destroy()
del loop