[#37050] [Feature #735] Date#inspect — "rubikitch ." <redmine@...>

Feature #735: Date#inspect

14 messages 2008/11/09

[#37075] [Feature #747] /\A/u ignores BOM — Shyouhei Urabe <redmine@...>

Feature #747: /\A/u ignores BOM

14 messages 2008/11/12

[#37161] m17n of irb — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

35 messages 2008/11/24
[#37183] Re: m17n of irb — keiju@... (keiju ISHITSUKA) 2008/11/25

けいじゅ@いしつかです.

[#37203] Re: m17n of irb — "Yugui (Yuki Sonoda)" <yugui@...> 2008/11/26

keiju ISHITSUKA さんは書きました:

[#37292] Re: m17n of irb — Yukihiro Matsumoto <matz@...> 2008/12/06

まつもと ゆきひろです

[#37293] Re: m17n of irb — "Yugui (Yuki Sonoda)" <yugui@...> 2008/12/07

Yuguiです。

[#37298] Re: m17n of irb — Yukihiro Matsumoto <matz@...> 2008/12/07

まつもと ゆきひろです

[#37210] RSS::Maker.create(version) — "Akinori MUSHA" <knu@...>

 RSS::Maker で、 "2.0" 等の文字列でフィードのフォーマットを渡す

15 messages 2008/11/27

[#37213] Re: [ruby-cvs:27586] Ruby:r20368 (trunk): * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): should return — Tadayoshi Funaba <tadf@...>

> * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): should return

8 messages 2008/11/27

[ruby-dev:37117] test/webrick/test_server.rb doesn't finish

From: shinichiro.h <shinichiro.hamaji@...>
Date: 2008-11-18 15:31:45 UTC
List: ruby-dev #37117
浜地といいます。

TestWEBrickServer#test_daemon が
2/3 くらいの確率で終わりません。

環境は 2.6.18-6-xen-vserver-amd64 x86_64 GNU/Linux で、
Ruby 1.9 の r20252 で確認しました。

forkを2回すると起こるみたいです。
手元では下記のコードで刺さります。

r, w = IO.pipe
Process.fork{
  r.close
  exit!(0) if fork
  w.puts(Process.pid)
  sleep
}
Process.kill(:KILL, r.gets.to_i)

fork 前の mutex/condvar の状態が残ってるのがマズいのかなぁと
rb_thread_create_timer_thread でスレッド作る前に
初期化するコードを入れてみたらなおりました。
これが正しい処置なのかは自信がありません。

Index: thread_pthread.c
===================================================================
--- thread_pthread.c    (revision 20252)
+++ thread_pthread.c    (working copy)
@@ -713,6 +713,8 @@
        int err;

        pthread_attr_init(&attr);
+       pthread_mutex_init(&timer_thread_lock, NULL);
+       pthread_cond_init(&timer_thread_cond, NULL);
 #ifdef PTHREAD_STACK_MIN
        pthread_attr_setstacksize(&attr,
                                  PTHREAD_STACK_MIN + (THREAD_DEBUG ? BUFSIZ : 0));

In This Thread

Prev Next