元の質問はC++ってことのはずだから、(>>499,>>501)
longjmpなんかしちゃダメでしょ。
blockのdtor呼ばれないよ。

signal handlerと例外の美しい融合はないもんかねえ。