HIRAUCHI Hideyuki
hira****@verys*****
2004年 2月 23日 (月) 01:52:27 JST
> ネックは、port処理中にエラーが発生した場合に必ずportのロックが > consistentになることを保証しなければならないってところです。 portapi_0.c(2歩戻るってやつ)を書きながらふと疑問に思ったのですが、 エラーを発生させるときに、 1. 自分がportをロックしているかどうか調べる 2. 自分がportをロックしていたら、解放する 3. エラーを投げる ていうことは出来ないのでしょうか? これが出来ればSAFE_CALLは要らなくなるんですよね? Gaucheでのロックや例外の仕組みをちゃんと理解していから、 変なこと聞いてるかもしれないのですが。 (。。。PORT_LOCK,PORT_UNLOCKを読んでいる。。。) p->lockOwnerが自分か否かだけを判断すれば例外を投げる前にロックを はずせそうだ。。。と思ったんですが、ロックを握ったまま、 ちゃんと例外を処理して正常稼働を続ける方法が無くなるのか。 でも、mt-safeにしたいなら、catchしたらまたロックしてから処理してね、 とすればいいのか? --hira