[Gauche-devel-jp] Re: port-current-lineについて

Back to archive index

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



Gauche-devel-jp メーリングリストの案内
Back to archive index