[#42915] min(n), max(n), min_by(n), max_by(n) — Tanaka Akira <akr@...>
思ったんですが、
[#42937] Re: Proc#callの別名の提案 — hattorihiroaki1@...
服部裕暁です。
[#42944] [Ruby 1.8-Bug#4230][Open] PlatformSDKのヘッダでビルドするとSocket::getaddrinfoで例外 — Masahiro Kitajima <redmine@...>
Bug #4230: PlatformSDKのヘッダでビルドするとSocket::getaddrinfoで例外
[#42945] [Ruby 1.8-Bug#4231][Open] configure.bat --with-winsock2 が socket/extconf.rbに効いていない — Masahiro Kitajima <redmine@...>
Bug #4231: configure.bat --with-winsock2 が socket/extconf.rbに効いていない
> Bug #4231: configure.bat --with-winsock2 が socket/extconf.rbに効いていない
(2011/01/05 15:04), KOSAKI Motohiro wrote:
[#42970] Re: 特異メソッドの定義の簡略化 — hattorihiroaki1@...
服部裕暁です。
[#43001] Re: Hash#[]の別名(Symbolをキーにして) — hattorihiroaki1@...
服部裕暁です。
[#43027] [Ruby 1.9-Feature#4280][Assigned] SJIS should be an alias of Windows-31J, not of Shift_JIS — Usaku NAKAMURA <redmine@...>
Feature #4280: SJIS should be an alias of Windows-31J, not of Shift_JIS
チケット #4280 が更新されました。 (by Motohiro KOSAKI)
こんにちは、なかむら(う)です。
2011年1月14日16:35 U.Nakamura <usa@garbagecollect.jp>:
こんにちは、なかむら(う)です。
[#43039] ext/openssl development repository — Hiroshi Nakamura <nakahiro@...>
W3J1YnktY29yZTozNDQxNl3jga7ml6XmnKzlkJHjgZHniYjjgafjgZnjgIIKCuacgOi/kU1hcnRp
こんにちは、なかむら(う)です。
遠藤です。
MjAxMS8xLzE0IFl1c3VrZSBFTkRPSCA8bWFtZUB0c2cubmUuanA+Ogo+Pj4gwqAgwqAgwqAgwqAg
こんにちは、なかむら(う)です。
44G+44Go44KB44Oi44O844OJ44Gn44GZ44CCCgoyMDExLzEvMTcgVS5OYWthbXVyYSA8dXNhQGdh
[#43047] Fwd: [ruby-core:33987] [Ruby 1.9-Feature#4222][Open] Irb tab completion support for the valid (but rare) obj::method invocation syntax — Yugui <yugui@...>
=E7=9F=B3=E5=A1=9A=E3=81=95=E3=82=93=E3=80=81
[#43060] [Ruby 1.9-Bug#4287][Open] test_europe_lisbon(TestTimeTZ) Failure — Tomoyuki Chikanaga <redmine@...>
Bug #4287: test_europe_lisbon(TestTimeTZ) Failure
[#43079] [Backport87-Backport#4296][Open] getaddrinfoがOSXで動かない問題をバックポートしてほしい — Takeyuki Fujioka <redmine@...>
Backport #4296: getaddrinfoがOSXで動かない問題をバックポートしてほしい
[#43092] pthread_cond を用いたConditionVariable — keiju@... (Keiju ISHITSUKA)
けいじゅ@いしつかです.
小崎@便乗です
遠藤です。
PiAxLiBkZWFkbG9ja+OBruODgeOCp+ODg+OCr+OBjOOBp+OBjeOBpuOBhOOBquOBhC4gdGhyZWFk
[#43111] Hashのイテレーション中の新規キー追加 — masa <masap.hat@...>
ruby-list の方で同じタイトルで投稿した畠山です。
はじめまして、近永と申します。
[#43139] ext/dbmのデフォルトDBについて — KOSAKI Motohiro <kosaki.motohiro@...>
小崎です
[#43140] Fwd: [ruby-cvs:37153] Ruby:r29960 (trunk): * io.c (struct argf): make lineno long, and reorder members. — Yutaka Kanemoto <kinpoco@...>
金本と申します。
[#43144] 現在 win32 portが壊れています — KOSAKI Motohiro <kosaki.motohiro@...>
遠藤さん
[#43152] RubyのパッチレベルとABI互換 — Takahiro Kambe <taca@...>
こんにちは。
うーむ。なるほど...
> うーむ。なるほど...
[ruby-dev:43110] Re: pthread_cond を用いたConditionVariable
遠藤です。
2011年1月26日0:32 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
>>> ええと、いままではGVL持ってるときは他のロックとるの禁止にしてますよね。
>>> GVLスレッドが待ってしまうと、全部止まるから。
>>
>> mutex->lock とかは GVL 持ってる時にロックしてますが、そういう話
>> ではない?
>
> 痛いところつかれた。あれ不思議なんだよなぁ。lock_func()はGVLはずしてから
> 読んでるけど、rb_check_deadlock()はGVLを持ちながらmutex->lockをとるという
> 不思議なつくりが
このへんも試行錯誤の賜物ですね。
>> 私が Ruby を好きな理由は、Kernel#p を始め、デバッグが軽快で楽しく
>> なるようにしているところなので、この程度のことで kill -9 が必要に
>> なるのは嫌です。
>
> それに対する答えは1つしかなくて、CVなんか使うな。ですよ。
> そういう中断できないAPIを選んでるんだから。
> 気持ちよくCtrl+Cで中断したい人はpipe でスレッド間通信しておけばよかったわけです。
どうせ Ruby は今 CV 以外にも全面的に Ctrl+C に脆弱な状況なのに、なんで
CV だけ利便性 (1.9.x も変えようというなら互換性も) を捨てて Ctrl+C 対策
しないといかんのかが、どうも腑に落ちない感じです。
> どうしてもCVが使いたければ、プログラムの最初でスレッドつくってmainスレッドはthread.joinするだけ
> にしとけば、絶対割り込み可能です。これは十分現実的でしょう。
プロセス終了時に全スレッドに例外 (のようなもの) を投げて join するはず
なので、おそらく無意味です。
>> こんな感じですかねえ。
>>
>> class SynchronizedQueue
>> def initialize
>> @array = []
>> @cv = ConditionVariable.new { !@array.empty? }
>> end
>> def push(x)
>> @cv.signal_and_synchronize { @array << x }
>> end
>> def pop
>> @cv.wait_and_synchronize { @array.unshift }
>> end
>> end
>
> cv.wait 以外はspurious wakeup問題がないので、特に拡張は不要という
> 認識でした。これは構文の一貫性のためだと思って良いのでしょうか?
> 見逃しがあったら教えてください。
必須ではないですが、こういう API にしたほうが「cv と mutex をペアとして
扱うこと」や「cv と predicate をペアとして扱うこと」を強制できるので、
そのあたりの誤用も減らせるのではないかと。
ただ、それによって表現力が落ちている可能性はあるのと、もはや Condition
Variable ではないなどのツッコミはありえます。
>> そもそも、注意点を網羅的かつ明確に理解できている人が現時点で存在
>> しないという説。
>
> 遠藤さん理解してはるじゃないですか・・・・・
他人の間違いは探せても、体系的に説明できるほど整理できないんですよねえ。
--
Yusuke Endoh <mame@tsg.ne.jp>