I have SIGINT
handler. It sets variable for whole program: errflag
. When I do select()
and it's interrupted via SIGINT
, I check errflag
to see if it's SIGINT
(have own constant assigned to errflag
). However, the handler can be late and errflag
isn't yet set. How to defer processing before handler's resolution on errflag
? Or how to implement this correctly?
Also, in one code path select()
returns -1
on Ctrl-C, errno
is EINTR
. Here handler is never late. In other path select()
returns -1
, errno
is also EINTR
, but handler outputs log message little later and is late, my errflag
checks are already performed.