咳@幽閉中です。 時間とLinux boxがなくてお話に参加できません。 :At Mon, 7 Jun 1999 18:17:50 +0900, :Shin-ichiro Hara <sinara / blade.nagaokaut.ac.jp> wrote: :> そうですね。だから、ユーザーの条件変数の一般的利用法としては、 :(snip) :> mutex.synchronize { :> ... :> while ある条件 :> cond_var.wait(mutex) :> end :> ... :> } :> :> と書くべきなんですね。せきさんのプログラムでは前者で十分だけど。 : :ですね。 なるほど! そういえば、そういう記述を読んだ気がしてきました。 当時はなんでwhileなんだろう…と疑問に思いつつ流していました。 あ、遠い昔に移植したデバイスドライバもそんな感じだった気が…。 # こっちはsleep()/wakeup()だったかな 職場に行けたら pthread もう一度よく勉強します。 状態を待っている側が while で調べるようにしておけば 起こす側が signal/broadcast のどちらで起こしても安全ですね。 と、いうか while で待たないと危険なんですね。 # ちょっと勘違いして覚えているとこがありました -- 咳