I am blocking a SIGINT
in ucontext
A, for example, say I hit ^C (SIGINT)
while it is running, nothing happens as expected.
In context B, there is a SIGINT
handler.
When I swapcontext(A, B)
then ucontext
B immediately executes the signal handler. Even though context A is the one that received and blocked this signal.
Is there a way to ensure process B does not enter the signal handler right away?
While I did not figure this out, using a critical flag, instead of blocking the signal was what I used.