m-renaud/posix-lib

File Descriptor Select - Improper Handling of Signals

Closed this issue · 1 comments

Currently, ::select() is used, ::pselect() should be used to properly handle signals. There can be a point in the middle where a signal is neither caught by the calling program nor ::select().

Although this may cause issues when writing code as described at http://osiris.978.org/~alex/safesignalhandling.html, if functionality associated with a signal is all done in the signal handler function then this problem becomes irrelevant. You can accomplish this by having a global instance of the class and setting the global signal handler function to call the member function of the global.