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 289 of file toolbox.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 291 of file toolbox.py.

291 def __init__(self, sig=signal.SIGINT):
292 self.sig = sig
293

Member Function Documentation

◆ __enter__()

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

Definition at line 294 of file toolbox.py.

294 def __enter__(self):
295
296 self.interrupted = False
297 self.released = False
298
299 self.original_handler = signal.getsignal(self.sig)
300
301 def handler(signum, frame):
302 self.release()
303 self.interrupted = True
304
305 signal.signal(self.sig, handler)
306
307 return self
308

◆ __exit__()

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

Definition at line 309 of file toolbox.py.

309 def __exit__(self, type, value, tb):
310 self.release()
311

◆ release()

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

Definition at line 312 of file toolbox.py.

312 def release(self):
313
314 if self.released:
315 return False
316
317 signal.signal(self.sig, self.original_handler)
318
319 self.released = True
320
321 return True
322# ------------------------------------------------------------------------------
323
324# ------------------------------------------------------------------------------

Member Data Documentation

◆ interrupted

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

Definition at line 296 of file toolbox.py.

◆ original_handler

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

Definition at line 299 of file toolbox.py.

◆ released

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

Definition at line 297 of file toolbox.py.

◆ sig

timing.cli.toolbox.InterruptHandler.sig = sig

Definition at line 292 of file toolbox.py.


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