[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>
こんばんは、sheepman です。
ささだです。
遠藤と申します。
ささだです。
遠藤です。
ささだです。
まつもと ゆきひろです
In article <E1Hw9be-0002Rs-Qg@x31>,
まつもと ゆきひろです
[#30920] Integer#prime_division と Prime — TOYOFUKU Chikanobu <nobu_toyofuku@...>
豊福です。
[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669066C.2080307@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46694461.4060706@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46697C0B.8060402@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669DAB0.4050705@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <466AA73C.9030407@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
In article <466D5B1D.8030205@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <469253E9.9010203@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694338C.7090303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694E6A6.2060303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>
最近のRuby 1.9をLinux/ia64上でmakeしようとすると
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
In article <E1HygwQ-0001OA-4f@x31>,
ささだです。
[#30996] new block parameter rule — SASADA Koichi <ko1@...>
ささだです。
[#31002] ("a".."f").step(2) {|x| p x} — Tanaka Akira <akr@...>
string の range の step で引数が効かないように思います。
まつもと ゆきひろです
ささだです。
まつもと ゆきひろです
[#31028] rb_get_interned — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31034] Re: [ruby-cvs:19815] Ruby:r12579 (trunk): * parse.y (rb_intern2): name may not be NUL-terminated. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#31046] Conditional jump or move depends on uninitialised value(s) in TOPLEVEL_BINDING — Tanaka Akira <akr@...>
valgrind をかけたところとりあえず最初のが
ささだです。
[#31063] make error at bcc32 — "Nebata" <tnebata@...>
ねばたです。
[#31066] consts for gdb support — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31068] $&;[] dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
遠藤です。
ささだです。
遠藤です。
[#31072] {*0} dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
[ruby-dev:31031] Re: [BUG] queue 0x424010 freed with live thread(s) waiting
なかだです。
At Sat, 26 May 2007 01:44:25 +0900,
nobu@ruby-lang.org wrote in [ruby-dev:30822]:
> > > 次のスクリプトのようなQueueを待ってるスレッドがある状態で
> > > メインスレッドが終了するケースで
> > > [BUG] queue 0x424010 freed with live thread(s) waiting
> > > となりました。
> >
> > r12068でwait_condvar()が常にmutexを再ロックするようになったせい
> > のようです。
>
> [ruby-dev:30809]でも、ロックしたままforkすると[BUG]になります。
1.8.6-p36には[ruby-dev:30822]じゃなくて[ruby-dev:30809]が入って
いますが、再現テストはないものの[ruby-Bugs-11507]でエラーが起き
るという報告が来ています。
とりあえずrelock_mutexはたしかにまずそうなので以下のようなパッ
チを出してみたのですが、[ruby-dev:30653]に対する影響がよくわか
りません。再現するはずと思ったのですが、手元ではなぜか起きませ
んでした。どなたか確認できるでしょうか。
Index: ext/thread/thread.c
===================================================================
--- ext/thread/thread.c (revision 12567)
+++ ext/thread/thread.c (working copy)
@@ -13,7 +13,4 @@
#include <intern.h>
#include <rubysig.h>
-#include <node.h>
-
-enum rb_thread_status rb_thread_status _((VALUE));
static VALUE rb_cMutex;
@@ -263,8 +260,8 @@ wait_list_cleanup(List *list)
}
-static void
+static VALUE
wait_list(List *list)
{
- rb_ensure(wait_list_inner, (VALUE)list, wait_list_cleanup, (VALUE)list);
+ return rb_ensure(wait_list_inner, (VALUE)list, wait_list_cleanup, (VALUE)list);
}
@@ -447,20 +444,4 @@ rb_mutex_lock(VALUE self)
}
-static VALUE
-relock_mutex(Mutex *mutex)
-{
- VALUE current = rb_thread_current();
-
- switch (rb_thread_status(current)) {
- case THREAD_RUNNABLE:
- case THREAD_STOPPED:
- lock_mutex(mutex);
- break;
- default:
- break;
- }
- return Qundef;
-}
-
/*
* Document-method: unlock
@@ -676,5 +657,5 @@ wait_condvar(ConditionVariable *condvar,
wake_thread(waking);
}
- rb_ensure(wait_list, (VALUE)&condvar->waiting, relock_mutex, (VALUE)mutex);
+ rb_ensure(wait_list, (VALUE)&condvar->waiting, lock_mutex, (VALUE)mutex);
}
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦