VC++はスレッドBでraiseすると、シグナルハンドラは確かスレッドBで実行される。
Ctrl+CとかのSIGINTだと別スレッド。
シグナルハンドらはvolatile変数のフラグ立てるぐらいしか処理しちゃしけない。
これでUNIXシグナル相当のことはできるはず。