DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
timing.cli.toolbox.InterruptHandler Class Reference
Inheritance diagram for timing.cli.toolbox.InterruptHandler:
[legend]
Collaboration diagram for timing.cli.toolbox.InterruptHandler:
[legend]

Public Member Functions

 __init__ (self, sig=signal.SIGINT)
 
 __enter__ (self)
 
 __exit__ (self, type, value, tb)
 
 release (self)
 

Public Attributes

 sig = sig
 
bool interrupted = False
 
bool released = False
 
 original_handler = signal.getsignal(self.sig)
 

Detailed Description

Definition at line 270 of file toolbox.py.

Constructor & Destructor Documentation

◆ __init__()

timing.cli.toolbox.InterruptHandler.__init__ ( self,
sig = signal.SIGINT )

Definition at line 272 of file toolbox.py.

272 def __init__(self, sig=signal.SIGINT):
273 self.sig = sig
274

Member Function Documentation

◆ __enter__()

timing.cli.toolbox.InterruptHandler.__enter__ ( self)

Definition at line 275 of file toolbox.py.

275 def __enter__(self):
276
277 self.interrupted = False
278 self.released = False
279
280 self.original_handler = signal.getsignal(self.sig)
281
282 def handler(signum, frame):
283 self.release()
284 self.interrupted = True
285
286 signal.signal(self.sig, handler)
287
288 return self
289

◆ __exit__()

timing.cli.toolbox.InterruptHandler.__exit__ ( self,
type,
value,
tb )

Definition at line 290 of file toolbox.py.

290 def __exit__(self, type, value, tb):
291 self.release()
292

◆ release()

timing.cli.toolbox.InterruptHandler.release ( self)

Definition at line 293 of file toolbox.py.

293 def release(self):
294
295 if self.released:
296 return False
297
298 signal.signal(self.sig, self.original_handler)
299
300 self.released = True
301
302 return True
303# ------------------------------------------------------------------------------

Member Data Documentation

◆ interrupted

bool timing.cli.toolbox.InterruptHandler.interrupted = False

Definition at line 277 of file toolbox.py.

◆ original_handler

timing.cli.toolbox.InterruptHandler.original_handler = signal.getsignal(self.sig)

Definition at line 280 of file toolbox.py.

◆ released

bool timing.cli.toolbox.InterruptHandler.released = False

Definition at line 278 of file toolbox.py.

◆ sig

timing.cli.toolbox.InterruptHandler.sig = sig

Definition at line 273 of file toolbox.py.


The documentation for this class was generated from the following file: