Original SIGINT handler is restored upon exit

This commit is contained in:
Nocturn9x 2023-03-02 14:40:06 +01:00
parent 6c91129ab6
commit d80fe45959
1 changed files with 3 additions and 1 deletions

View File

@ -374,7 +374,8 @@ class FIFOKernel:
""" """
Starts the event loop from a synchronous context Starts the event loop from a synchronous context
""" """
old = signal.getsignal(signal.SIGINT)
signal.signal(signal.SIGINT, self._sigint_handler) signal.signal(signal.SIGINT, self._sigint_handler)
self.entry_point = Task(func.__name__ or str(func), func(*args, **kwargs)) self.entry_point = Task(func.__name__ or str(func), func(*args, **kwargs))
self.run_ready.append(self.entry_point) self.run_ready.append(self.entry_point)
@ -383,6 +384,7 @@ class FIFOKernel:
self.run() self.run()
finally: finally:
self.debugger.on_exit() self.debugger.on_exit()
signal.signal(signal.SIGINT, old)
if ( if (
self.entry_point.exc self.entry_point.exc
and self.entry_point.context is None and self.entry_point.context is None