diff --git a/websockify/websockifyserver.py b/websockify/websockifyserver.py index 01004cc..055bb12 100644 --- a/websockify/websockifyserver.py +++ b/websockify/websockifyserver.py @@ -684,13 +684,15 @@ class WebSockifyServer(object): original_signals = { signal.SIGINT: signal.getsignal(signal.SIGINT), signal.SIGTERM: signal.getsignal(signal.SIGTERM), - signal.SIGCHLD: signal.getsignal(signal.SIGCHLD), } + if getattr(signal, 'SIGCHLD', None) is not None: + original_signals[signal.SIGCHLD] = signal.getsignal(signal.SIGCHLD), signal.signal(signal.SIGINT, self.do_SIGINT) signal.signal(signal.SIGTERM, self.do_SIGTERM) # make sure that _cleanup is called when children die # by calling active_children on SIGCHLD - signal.signal(signal.SIGCHLD, self.multiprocessing_SIGCHLD) + if getattr(signal, 'SIGCHLD', None) is not None: + signal.signal(signal.SIGCHLD, self.multiprocessing_SIGCHLD) last_active_time = self.launch_time try: