[#14715] HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

32 messages 1999/06/01
[#14834] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/05

なひです.

[#14836] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/05

高橋征義です。

[#14858] Re: HTTP Client with Ruby — gotoken@... (GOTO Kentaro) 1999/06/07

ごとけんです

[#14896] Re: HTTP Client with Ruby — TAKAHASHI Masayoshi <maki@...> 1999/06/07

高橋です。みなさまどうもありがとうございます。

[#14907] Re: HTTP Client with Ruby — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/08

なひです.

[#14766] ruby 1.3.4 on BSD/OS 3.1 — Yasunari Momoi <momo@...>

BSD/OS 3.1 (with kame) で ruby-1.3.4 を作ろうとしているんで

18 messages 1999/06/03
[#14770] Re: ruby 1.3.4 on BSD/OS 3.1 — matz@... (Yukihiro Matsumoto) 1999/06/03

まつもと ゆきひろです

[#15012] ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...>

22 messages 1999/06/16
[#15013] Re: ext ML の過去ログはいずこ? — Shin-ichiro Hara <sinara@...> 1999/06/16

原です。

[#15014] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15015] Re: ext ML の過去ログはいずこ? — Kazunori Akaishi <akaishi@...> 1999/06/16

akaishi です。

[#15016] Re: ext ML の過去ログはいずこ? — 中村暁史 <anakamur@...> 1999/06/16

[#15045] mail library — Minero Aoki <aamine@...>

あおきです。

96 messages 1999/06/20
[#15075] Re: mail library — Minero Aoki <aamine@...> 1999/06/22

あおきです。

[#15122] Re: mail library — Minero Aoki <aamine@...> 1999/06/28

あおきです。

[#15123] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15125] Re: mail library — WATANABE Hirofumi <watanabe@...> 1999/06/28

わたなべです.

[#15126] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/28

まつもと ゆきひろです

[#15146] Re: mail library — Minero Aoki <aamine@...> 1999/06/29

あおきです。

[#15148] Re: mail library — matz@... (Yukihiro Matsumoto) 1999/06/29

まつもと ゆきひろです

[#15161] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15165] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/06/30

なひです.

[#15167] Re: mail library — Minero Aoki <aamine@...> 1999/06/30

あおきです。

[#15219] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.

[#15228] Re: mail library — hisanori@... 1999/07/05

松尾です。

[#15279] Re: mail library — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/07

なひです.

[#15172] Re:mail library — Takeo Iwama <iwamat@...> 1999/07/01

はじめまして、岩間です。

[#15218] JUS workshop ( was Re:mail library ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyと格闘中です.

[#15220] Mod_ruby server does not respond when POST request. — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/03

なひです.mod_rubyネタはruby-listでよいでしょうか?

[#15226] Re: Mod_ruby server does not respond when POST request. — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15240] mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — "NAKAMURA, Hiroshi" <nakahiro@...> 1999/07/05

なひです.

[#15242] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 ( was Re: Mod_ruby server does not respond when POST request. ) — Shugo Maeda <shugo@...> 1999/07/05

前田です。

[#15308] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15310] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Shugo Maeda <shugo@...> 1999/07/08

前田です。

[#15313] Re: mod_ruby/0.1.2 with Apache/1.3.6 on Solaris/2.5.1 — Katsuyuki Komatsu <komatsu@...> 1999/07/08

小松です。

[#15057] 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...>

しげまつ と申します。  とっても久しぶりの投稿です。

18 messages 1999/06/21
[#15058] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15059] Re: 複雑?な構造体の定義方法 — Koichi Shigematsu <shige@...> 1999/06/21

しげまつ です。

[#15061] Re: 複雑?な構造体の定義方法 — matz@... (Yukihiro Matsumoto) 1999/06/21

まつもと ゆきひろです

[#15065] pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/21

ごとけんです

[#15076] Re: pattern (Re: 複雑?な構造体の定義方法) — matz@... (Yukihiro Matsumoto) 1999/06/22

まつもと ゆきひろです

[#15077] Re: pattern (Re: 複雑?な構造体の定義方法) — gotoken@... (GOTO Kentaro) 1999/06/22

ごとけんです

[ruby-list:14839] Re: ConditionVariable (again)

From: Shugo Maeda <shugo@...>
Date: 1999-06-05 17:09:48 UTC
List: ruby-list #14839
前田です。

At Sun, 6 Jun 1999 01:20:14 +0900,
Shin-ichiro Hara <sinara@blade.nagaokaut.ac.jp> wrote:
> |> 例えば Thread#run が一つも無くて、Thread#wakeup のみが使われている
> |> こと。これも、スケジューリング問題の調整のためでしょうか。あとロッ
> |> クの owner という概念があって、そこかしこに、owner がずれてると例外
> |> を発生させる様になっているところとか。owner はカウントつきロックの
> |> ためにだけあるのでは無いようですね。
> |
> |[ruby-list:6791]あたりにその辺の理由が書いてあります。
> |簡単に言うとsignal/broadcastされた時点でwaitしたスレッドが優先的
> |にロックを獲得できるようにするためです。
> 
> ええ、そうなっているのはわかります。しかしそんなことが必要になっ
> てしまうのは signal で run させずに wakeup させているからですよ
> ね。私の cv2.rb みたいに run させればいいだけのことではないかな
> あ。なぜ run させずに wakeup & pass させるのだろう。

t.run

というのは、

t.wakeup
Thread.pass

と同値なので、t.runした直後にtに実行権が渡ることは必ずしも保証さ
れないような気がして、このようにしてあります。
# ひょっとして保証されるんですか?>まつもとさん

つまりrunでも問題が起きる可能性はあるのではないかと。

> |あと、wakeupを使っているのはスケジューリングが起こって欲しくない
> |からですね。
> 
> ああ、ここでスケジューリングというのはスレッドのスイッチという意味
> ですね。なぜスイッチしたらいかんのだろう。どうせ不定な時期にスイッ
> チするんだからここで意図してスイッチを起こしてもいいようが気がする
> のですが。

すいません、「スケジューリング」と書いてたのは「スケジューリング
イベント」と書こうとしていたのでした。

で、ここでwakeupしているのは、クリティカルセクションではrunしても
スケジューリングイベントは起きないからです。
# つまり、runでも同じだけど意味がないのでwakeupにしているわけです。

> いや、条件変数の signal が原因でスレッドのスイッチが起こらないよう
> にできるなら、その方が気持ちいいとは思います。たかが変数ごときにス
> ケジュールを変形されたくないという気持ちは分かります。
> 
> もしそういうことなら、signal の頭で Thread.critical の値を保存し
> て、最後にそれを復活させる(そして Thread.pass もさせない)という
> のが徹底していて、いい様な気もします。

いや、ここはスケジューリングイベントを起こさないといけないんです。
というのは、signalしたスレッドがまだロックを保持している間に、
waitしているスレッドにスイッチしておかないと、せっかくキューに優
先順位を設けたのに、キューに並ぶひまもなく、他のスレッドにロック
を奪われてしまうかもしれないからです。
signalしたスレッドがまだロックを保持している間は、他のスレッドに
実行が渡ってもキューの優先順位があるので大丈夫なのですが、ロック
がフリーになってからはじめてスケジューリングイベントが起こったと
すると、他のスレッドにロックを横取りされてしまいます。

で、[ruby-list:6791]でも書いているのですが、さらにsignalしたスレッ
ドから他のスレッドに移ってまた戻ってくる間に必ずwaitしたスレッド
に実行が移る保証があるのか、というのが問題になるんですが、たぶん
少なくとも今の実装では保証されると思います。

> |う、手元のmonitor.rbの253行目はスクリプトの終わりになってます(^_^;
> |なんかこの間バグを一つつぶしたような気がする(夢だったかも)ので
> |ruby-1.3.4付属のもので試していただけませんか?
> 
> おおっ、新しい monitor.rb を見てみました。かなり分かりやすい。いま
> まで難しい、難しいと言っていたのは、ruby-1.2.5 までの話です。なるほ
> ど、組み込みクラスのインスタンスがインスタンス変数を持てる様になっ
> たのは大きいですね!

このおかげでかなり楽になりましたね。

> 時代は 1.3 だな。(^^)

です:-)

-- 
前田 修吾

In This Thread