diff options
| author | Solly Ross <sross@redhat.com> | 2014-01-30 17:24:42 -0500 |
|---|---|---|
| committer | Pierre Ossman <ossman@cendio.se> | 2017-06-15 14:23:29 +0200 |
| commit | ddcec961ec16aeec76e232684b89ea33ef3e0657 (patch) | |
| tree | 9774643038cefd78845448625759a05110e2528d /websockify | |
| parent | d029e451cfb40948e0e7a2f9bceb1fe4188b5fab (diff) | |
| download | websockify-ddcec961ec16aeec76e232684b89ea33ef3e0657.tar.gz | |
Work around lack of SIGCHLD on Windows
This only enables the SIGCHLD handler if SIGCHLD
exists, such that platforms without SIGCHLD (such
as windows) can still run websockify natively.
See #108
Diffstat (limited to 'websockify')
| -rw-r--r-- | websockify/websockifyserver.py | 6 |
1 files changed, 4 insertions, 2 deletions
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: |
