diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2007-06-25 11:45:06 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2007-06-25 11:45:06 -0230 |
commit | e23d0815122c22344cd6ea66c0c7c46e49231599 (patch) | |
tree | 1763c46e3efc8c4cf1f6f60a161c5db7fdd54c05 /py/python/Ice.py | |
parent | IceStorm/replicated demo now recognizes when new IceStorm instance scome online (diff) | |
download | ice-e23d0815122c22344cd6ea66c0c7c46e49231599.tar.bz2 ice-e23d0815122c22344cd6ea66c0c7c46e49231599.tar.xz ice-e23d0815122c22344cd6ea66c0c7c46e49231599.zip |
Changed setting Application signal handling policy to use an enum
Diffstat (limited to 'py/python/Ice.py')
-rw-r--r-- | py/python/Ice.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/py/python/Ice.py b/py/python/Ice.py index 430ece89658..c1ad0bb6e0b 100644 --- a/py/python/Ice.py +++ b/py/python/Ice.py @@ -641,10 +641,10 @@ class CtrlCHandler(threading.Thread): import signal, traceback class Application(object): - def __init__(self, useCtrlCHandler=True): + def __init__(self, signalPolicy=0): # HandleSignals=0 if type(self) == Application: raise RuntimeError("Ice.Application is an abstract class") - Application._useCtrlCHandler = useCtrlCHandler + Application._signalPolicy = signalPolicy def main(self, args, configFile=None, initData=None): if Application._communicator: @@ -680,7 +680,7 @@ class Application(object): # # The default is to destroy when a signal is received. # - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: Application.destroyOnInterrupt() status = self.run(args) @@ -693,7 +693,7 @@ class Application(object): # it would not make sense to release a held signal to run # shutdown or destroy. # - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: Application.ignoreInterrupt() Application._condVar.acquire() @@ -744,7 +744,7 @@ class Application(object): communicator = classmethod(communicator) def destroyOnInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() == self.holdInterruptCallback: self._released = True @@ -757,7 +757,7 @@ class Application(object): destroyOnInterrupt = classmethod(destroyOnInterrupt) def shutdownOnInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() == self.holdInterruptCallback: self._released = True @@ -770,7 +770,7 @@ class Application(object): shutdownOnInterrupt = classmethod(shutdownOnInterrupt) def ignoreInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() == self.holdInterruptCallback: self._released = True @@ -783,7 +783,7 @@ class Application(object): ignoreInterrupt = classmethod(ignoreInterrupt) def callbackOnInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() == self.holdInterruptCallback: self._released = True @@ -796,7 +796,7 @@ class Application(object): callbackOnInterrupt = classmethod(callbackOnInterrupt) def holdInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() != self.holdInterruptCallback: self._previousCallback = self._ctrlCHandler.getCallback() @@ -810,7 +810,7 @@ class Application(object): holdInterrupt = classmethod(holdInterrupt) def releaseInterrupt(self): - if Application._useCtrlCHandler: + if Application._signalPolicy == Application.HandleSignals: self._condVar.acquire() if self._ctrlCHandler.getCallback() == self.holdInterruptCallback: # @@ -931,6 +931,9 @@ class Application(object): callbackOnInterruptCallback = classmethod(callbackOnInterruptCallback) + HandleSignals = 0 + NoSignalHandling = 1 + _appName = None _communicator = None _application = None @@ -941,7 +944,7 @@ class Application(object): _destroyed = False _callbackInProgress = False _condVar = threading.Condition() - _useCtrlCHandler = True + _signalPolicy = HandleSignals # # Define Ice::Object and Ice::ObjectPrx. |