Changeset 30:8a73f66395d5

Show
Ignore:
Timestamp:
01/05/06 12:42:02 (3 years ago)
Author:
Allan Saddi <allan@saddi.com>
branch:
default
convert_revision:
svn:46762da8-4eb7-0310-94e9-d918b60927c8/flup/trunk@1836
Message:

Improve Windows compatibility by conditionally installing
SIGHUP handler.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • ChangeLog

    r29 r30  
     12006-01-05  Allan Saddi  <asaddi@kalahari.flup.org> 
     2 
     3        * Improve Windows compatibility by conditionally installing 
     4          SIGHUP handler. Thanks to Brad Miller for pointing out the 
     5          problem and providing a fix. 
     6 
    172005-12-19  Allan Saddi  <asaddi@kalahari.flup.org> 
    28 
  • flup/server/preforkserver.py

    r29 r30  
    351351 
    352352    def _installSignalHandlers(self): 
    353         """Installs signal handlers.""" 
    354         self._oldSIGs = [(x,signal.getsignal(x)) for x in 
    355                          (signal.SIGHUP, signal.SIGINT, signal.SIGTERM, 
    356                           signal.SIGCHLD)] 
    357         signal.signal(signal.SIGHUP, self._hupHandler) 
    358         signal.signal(signal.SIGINT, self._intHandler) 
    359         signal.signal(signal.SIGTERM, self._intHandler) 
     353        supportedSignals = [signal.SIGINT, signal.SIGTERM] 
     354        if hasattr(signal, 'SIGHUP'): 
     355            supportedSignals.append(signal.SIGHUP) 
     356 
     357        self._oldSIGs = [(x,signal.getsignal(x)) for x in supportedSignals] 
     358 
     359        for sig in supportedSignals: 
     360            if hasattr(signal, 'SIGHUP') and sig == signal.SIGHUP: 
     361                signal.signal(sig, self._hupHandler) 
     362            else: 
     363                signal.signal(sig, self._intHandler) 
    360364 
    361365    def _restoreSignalHandlers(self): 
  • flup/server/threadedserver.py

    r2 r30  
    123123 
    124124    def _installSignalHandlers(self): 
    125         self._oldSIGs = [(x,signal.getsignal(x)) for x in 
    126                          (signal.SIGHUP, signal.SIGINT, signal.SIGTERM)] 
    127         signal.signal(signal.SIGHUP, self._hupHandler) 
    128         signal.signal(signal.SIGINT, self._intHandler) 
    129         signal.signal(signal.SIGTERM, self._intHandler) 
     125        supportedSignals = [signal.SIGINT, signal.SIGTERM] 
     126        if hasattr(signal, 'SIGHUP'): 
     127            supportedSignals.append(signal.SIGHUP) 
     128 
     129        self._oldSIGs = [(x,signal.getsignal(x)) for x in supportedSignals] 
     130 
     131        for sig in supportedSignals: 
     132            if hasattr(signal, 'SIGHUP') and sig == signal.SIGHUP: 
     133                signal.signal(sig, self._hupHandler) 
     134            else: 
     135                signal.signal(sig, self._intHandler) 
    130136 
    131137    def _restoreSignalHandlers(self):