Linuxでは再現しないようです。接続を切ることを何回か繰り返してみてください。pipeMacOSXだと2回目以降、sys-sigsetが空でなくフルマスク状態になるようです。Leopardを使ってる方、試してみて頂けますか。root:xnu-1228.4.31~1/RELEASE_I386)でもフルマスク状態になるようです。行番号は0.8.13リリース以来変わってるかも。試してみましたが症状は変わりませんでした。実機がないと追いづらいなあ。サーバの方をstraceかけて、シグナルマスク関係だけ抜き出す...ってのはちょっとデータが膨大になりそうだしなあ。プロセス全体のシグナルマスクが変更されるみたいですね。Scm_VMDefaultExceptionHandlerでプロセス全体に設定されているみたいです。調査ありがとうございます。これは悲しい仕様だなあ。siglongjmpは使うなってことかな。それともスレッド対応版が別に用意されてたりするのかな。MacOSXな方、試してみてください。試してみましたが、上記の問題は再現しなくなりました。aroundを捨てられるかな。