You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be really nice to be able to kill a ddsim job with CTRL-C, and even better, to abort the event loop (if started already) but still producing a sane output file with the events processed so far (similar to the behavior of StopOnSignal=True from Gaudi ApplicationMgr).
Would that be possible?
I see a proposal here #1300 but it would only cover the detector loading stage IIUC.
The text was updated successfully, but these errors were encountered:
Yes. This could be done in principle.
But it is not entirely obvious.
Also the approach in #1300 brutally stops executing when CTRL-C (SIGINT) is hit. We could provide a module, which can be loaded on user request from python and then instruments the Geant4 interface. However, there would be a couple of consequences in the event loop:
The event loop would have to be called for one event at a time.
During the simulation of one single event signal handling would have to be suspended, because typically throwing an exception causes a Geant4 crash. Hence one event must finish before the event loop could be broken.
Should finalization be interruptible ? Don't know. Output files may very well be corrupted.
During initialization the signal handling can stop the program at any time, because no data need to be saved.
What other requirements would there be to properly handle signals. Any plans for other signals (SIGSTOP / SIGCONT, etc...)
It would be really nice to be able to kill a
ddsim
job with CTRL-C, and even better, to abort the event loop (if started already) but still producing a sane output file with the events processed so far (similar to the behavior ofStopOnSignal=True
from GaudiApplicationMgr
).Would that be possible?
I see a proposal here #1300 but it would only cover the detector loading stage IIUC.
The text was updated successfully, but these errors were encountered: