summaryrefslogtreecommitdiff
path: root/py/python/Ice.py
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2007-06-25 11:45:06 -0230
committerDwayne Boone <dwayne@zeroc.com>2007-06-25 11:45:06 -0230
commite23d0815122c22344cd6ea66c0c7c46e49231599 (patch)
tree1763c46e3efc8c4cf1f6f60a161c5db7fdd54c05 /py/python/Ice.py
parentIceStorm/replicated demo now recognizes when new IceStorm instance scome online (diff)
downloadice-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.py25
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.