nthallen / monarch

Monarch Data Acquisition System
0 stars 1 forks source link

Document signals #69

Open nthallen opened 4 years ago

nthallen commented 4 years ago

Loop::signal() is basically the system signal() call except it sets up masks to block and unblock the signal around the pselect() call. The handler is called in the signal context. Interface::signal() sets up (or clears) a signal handler that gets called serially from the Loop. The Interface's virtual function serialized_signal_handler(int signum) is what gets called.

nthallen commented 4 years ago

Note that Interface::signal() cannot be called until after the interface is added to a Loop