Doesn't seem to behave that way on linux. I tried adding an additional raise(signo); just to test, and ltrace shows that both functions are called and returns.

```
--- SIGINT (Interrupt) ---
raise(2, 0x7fffc1603270, 1, 0x1990d00, 0)                  = 0
raise(2, 26922, 2, -1, 0)                                  = 0
unexpected breakpoint at 0x5cc37f
--- SIGINT (Interrupt) ---
+++ killed by SIGINT +++
```