Shiro Kawai
shiro****@lava*****
2004年 7月 11日 (日) 07:06:36 JST
From: shelarcy <shela****@capel*****> Subject: [Gauche-devel-jp] Re: gosh の開発で行き詰まった Date: Sat, 10 Jul 2004 22:14:54 +0900 > >> いっそのこと boost::signal を使ってしまおうかと考えてしまう。 > >> http://www.boost.org/doc/html/ch06s02.html#id2520741 > > > > このsignalはUnixのsignalではないのでは? > > 上のページを読む限りでは、どっちかというとglibが扱うsignalと同じように > > オブジェクト間でイベントを送り合うメカニズムのように見えます。 > > はい、その通りです。Unix の signal ではなく slot/signal の方のものです。 > やっぱり Unix の signal に当たるものがないといけませんか。 無限ループに入った時にSIGINTで中断できなくても良いなら、signal関係を 全部とっぱらってもいいですけど。ちょっとそれもなあ。 ;; ここで話してるのはプロセス間通信としてのUnixのsignalであって、 ;; コールバックメカニズムであるboost::signalは全く別物で、代替に ;; なるようなものじゃないです。 シグナルマスクが使えない場合、Scm_SigCheckのクリティカルセクション の間だけシグナルハンドラをすげかえて、一時的なキューにシグナルを 貯めるようにするって手が使えるかもしれません。あんまり美しくないですが。 --shiro