[#23026] ruby compile/ruby-gtk — Taiji.Can@...
[#23031] description on fork and Process.fork — kjana@... (YANAGAWA Kazuhisa)
マニュアルみてて思ったんですけど,fork の記述に「失敗したら例外があが
In message <200006021503.AAA19483@mail3.os.xaxon.ne.jp>
In message <200006081406.e58E6JA16512@edge.sky.yamashina.kyoto.jp>
In message <200006091328.WAA23409@mail2.os.xaxon.ne.jp>
まつもと ゆきひろです
有馬です。
新井です。
まつもと ゆきひろです
[#23032] Racc Array#filter -> collect! — Toshiro Kuwabara <toshirok@...3.so-net.ne.jp>
Toshです。
[#23052] UTF-8 on print method — kenn@...
長沢です。
>SJIS に無い文字を出力する場合はどうすれば良いんでしょうか?
高橋征義です。
[#23061] rfc822.rb parse error — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
日時 Mon, 5 Jun 2000 21:23:17 +0900 の
[#23088] 文字列置換 — Takayuki Tanaka <tanaka@...>
Ruby初心者のTanです。
[#23095] setup.rb testrun — rubikitch <rubikitch@...>
るびきちです。
[#23096] http.rb will change — Minero Aoki <aamine@...>
あおきです。
まつもと ゆきひろです
高橋征義です。
まつもと ゆきひろです
青山です。
高橋です。
青山です。
高橋征義です。
青山です。
あおきです。
高橋征義です。
あおきです。
高橋征義です。
あおきです。
TAKAHASHI Masayoshi <maki@inac.co.jp> wrote:
あおきです。
直井と申します.
In message "[ruby-list:23263] synchronize or lock"
In message <200006142243.HAA20586@hanare00.math.sci.hokudai.ac.jp>
[#23116] making Array — OZAWA Sakuro <crouton@...>
さくです。
[#23125] メソッドの中の動きを変える — Masahiro Kawata <kawata@...>
こんにちわ。かわた まさひろと申します。
From: Masahiro Kawata <kawata@titan.co.jp>
[#23156] ports — Wakou Aoyama <wakou@...>
青山です。
長沢です。
青山です。
青山です。
青山です。
まつもと ゆきひろです
青山です。
青山です。
まつもと ゆきひろです
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
[#23161] RDtool trouble. — rubikitch <rubikitch@...>
るびきちです。
[#23168] media watch 2000.06.08 — Noritsugu Nakamura <nnakamur@...>
[#23169] Kconv::guess(str) — NAWATE Masahiko <agul@...>
縄手@松江です。
In message "[ruby-list:23169] Kconv::guess(str)"
日時 Mon, 12 Jun 2000 22:10:19 +0900 の
[#23185] commonly used notation — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
[#23197] self の振る舞いを書き換えたいです — Kenya Ogata <k_ogata@...>
こんにちは、おがたといいます。
[#23222] readablity of RD — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
Toshです。
From: TAKAHASHI Masayoshi <maki@inac.co.jp>
高橋征義です。
おがたといいます。
Toshです。
おがたです。いくつか考えうる解決案を。
Toshです。
青山です。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
青山です。
Toshです。
まつもと ゆきひろです
青山です。
まつもと ゆきひろです
Toshです。
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
まつもと ゆきひろです
Toshです。
まつもと ゆきひろです
From: Toshiro Kuwabara <toshirok@yb3.so-net.ne.jp>
Toshです。
青山です。
Toshです。
まつもと ゆきひろです
Toshです。
まつもと ゆきひろです
Toshです。
[#23235] nkf MIME space handling — "Kikutani, Makoto" <kikutani@...>
nkfモジュールは、MIMEのデコードもしてくれますが、
わたなべです.
日時 Wed, 14 Jun 2000 13:27:29 +0900 の
こんにちは。鈴木教郎です。
日時 Wed, 14 Jun 2000 16:10:52 +0900 の
こんばんは。鈴木教郎です。
[#23277] net/smtp.rb extra lines ? — "Kikutani, Makoto" <kikutani@...>
どうも、最近自分の出したメイルに2行くらい余計な空行が最後に
[#23284] Ruby/zlib — Ueno Katsuhiro <unnie@...>
うえの@ぶるーすかいです。
[#23305] xmarshal.rb — Masatoshi SEKI <m_seki@...>
[#23311] UTF-8 in RubyBook — "Kikutani, Makoto" <kikutani@...>
Ruby本読み直しちう。
[#23356] rd2texi-lib.rb 最新版? — Noritsugu Nakamura <nnakamur@...>
[#23359] ASP — Yoshinori Tahara <platypus@...1.mbn.or.jp>
はじめまして、田原@鎌倉です。
[#23368] Message Digest (MD5) Function — Hagemu Higuchi <hahiguc@...11.odn.ne.jp>
cygwin32で使用しています。件名のような関数は
[#23372] (GMT+0500) — "Kikutani, Makoto" <kikutani@...>
curが堕ちる、というreportがあったので調べると日付が
あああ,ごめんなさい.脊髄で反応してしまいました (_ _).
[#23385] DBMS and ruby CGI — toyofuku@...
豊福です。
[#23410] Re: DBMS and ruby CGI — "Kahori Takeuchi" <EB89012@...>
こんにちは、時田です。
[#23411] dump a single object — Hideto ISHIBASHI <hideto-i@...4u.or.jp>
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
石橋"rubyholic"秀仁です。いろいろとゴタクが長いです (^^;
なひです.
なかだです。
石橋"rubyholic"秀仁です。咳さん、こんばんわ。
石橋"rubyholic"秀仁です。
まつもと ゆきひろです
石橋"rubyholic"秀仁です。
石橋"rubyholic"秀仁です。どうも。
石橋"rubyholic"秀仁です。どうも。
[#23454] MHC in RAA — Yoshinari Nomura <nom@...>
乃村@九大です。
まつもと ゆきひろです
[#23477] Re: DBMS and ruby CGI — toyofuku@...
豊福です。
[#23485] Ruby 1.4.5 — matz@... (Yukihiro Matsumoto)
Ruby 1.4.5 is out, check out:
小松です。
まつもと ゆきひろです
どぉも、道村です。
小松です。
小松です。
どぉも、道村です。
小林です。
小林です。
どぉも、道村です。
小松です。
どぉも、道村です。
[#23504] 拡張ライブラリの作り方 — Akimichi Tatsukawa <akimichi@...>
立川と申します。はじめて投稿します。よろしくお願いします。
さくです。
From: OZAWA Sakuro <crouton@duelists.org>
小松です。
[#23509] Dimension of array — agul@...
縄手@松江です。
わたなべです.
原です。
縄手@松江です。
[#23519] media watch 2000.06.24 — Noritsugu Nakamura <nnakamur@...>
[#23558] ruby-1.4.5 GNUmakefile — IWATSUKI Hiroyuki <don@...>
岩月と申します。
[ruby-list:23297] Re: synchronize or lock
咳といいます。
> > ちなみにこの例の場合,上記のブロック内で新たに導入されたローカル変数は
> > ブロックローカル,というルールにより,s はスレッドローカルになります.
> > だからそもそもここで相互排除を行う必要は無かったりして.
> 訂正.やっぱり race condition になりそうですね.
>
> :
> |
> Socket#accept
> |
> Thread.new----------------+
> | |
> Socket#accept <-------> s = ns <- ここで
> |
> :
> s は確かにスレッドローカルだけど ns が accept で書き換えられる可能性が
> ある.ということで確かに Mutex による相互排除あたりはあった方が良いの
> かも.....それなら accept も lock/unlock で括らなきゃだめか.
自分のdrb.rbが心配になって見てみました。メインループの内側、
accept 1回分の仕事を一つのメソッドにしていました。つまり
ns = gs.accept
の ns も一回の処理ごとのローカルな変数とすることで、競合状態に
ならないようにしてるっぽいです。
# 以前、もっとスマートな解決方法を見た覚えがあります。
そういえば、
Ruby本の 2.22.1 などのサンプルは危険そうに思います。 > まつもとさん
OpenDesign の toy_http_server.rb も ?? > gotokenさん
while TRUE
ns = gs.accept
...
end
でなくて、
loop do
ns = gs.accept
...
end
として ns をブロックローカルで作ればいいのかな。
# 実験したらwhile の中はブロックじゃないんですね。当り前か。
#---- こっちは止まるけど
while TRUE
i = i ? i + 1 : 0
puts i
exit if i > 9
end
#---- こっちは止まらない
loop do
i = i ? i + 1 : 0
puts i
exit if i > 9
end
と、ここまできて話がひっくり返るのですが …
本来は危険区間と思われるのですが、1.4.4 だと
Thread.new の先頭で s = ns 方式
ってうまく動きますね。(偶然でしょうけど)
必ず最初の 1 primitive(?)は実行されてからスレッドがスイッチするような
仕組みがあるのだろうか…。
-- a.rb
require 'thread'
LOOP = 10000
q = Queue.new
n = LOOP
while TRUE
ns = n # acceptのかわり
Thread.start do
s = ns # 完了する前にスイッチしないの??
q.push(s)
end
n -= 1
break if n <= 0
end
LOOP.times do
puts q.pop
end
--
% ruby a.rb | sort | uniq | wc
10000 10000 48894
ちゃんと動いていて期待を裏切ります。
これを s = ns やめて
Thread.start do
q.push(ns) # 完了する前にスイッチしないの??
end
とすると…
% ruby a.rb | sort | uniq | wc
9902 9902 48418
となって、期待通り(?)失敗してくれます。
最初の話にもどって、while TRUE を loop do と差し替え、
ns をブロックローカルとすることでちゃんと動作してくれました。
% ruby a.rb | sort | uniq | wc
10000 10000 48894