[#21809] lib/test/unit/ui/tk/testrunner.rb — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
なかだです。
こんにちは、なかむら(う)です。
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
[#21830] pty on FreeBSD — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#21846] StringIO#path — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#21876] get_last_error or getLastError by DL::Importable — Take_tk <ggb03124@...>
たけ(tk)です。
[#21883] right hand Regexp — Koji Arai <JCA02266@...>
新井です。
[#21899] core dump in rb_hash_aset — Tanaka Akira <akr@...17n.org>
% ruby -e 'h = {}
まつもと ゆきひろです
In article <1068753744.644627.6908.nullmailer@picachu.netlab.jp>,
[#21932] rough / tabs.rb — Minero Aoki <aamine@...>
青木です。
[#21939] StringIO.new("").read — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、
[#21942] Zlib::GzipReader#read — Tanaka Akira <akr@...17n.org>
ふと気がついたのですが、
[#21943] IO#read — Tanaka Akira <akr@...17n.org>
ふと。
In article <87u1523sjj.fsf@serein.a02.aist.go.jp>,
なかだです。
In article <200311250059.hAP0xSYw004490@sharui.nakada.kanuma.tochigi.jp>,
[#21946] Re: [ruby-cvs] ruby, ruby/lib, ruby/test/fileutils: * lib/fileutils.rb (fu_same?): check by inode instead of path name, to detect two hard links pointing to the same content. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
Siena. です。
青木です。それにしても凄い Subject だ。
[#22000] purge pthread at configure — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#22013] HTTP_PROXY — Tanaka Akira <akr@...17n.org>
ふと
[#22025] --enable-pthread on FreeBSD — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#22042] ENV["path"].tainted? — Tanaka Akira <akr@...17n.org>
ENV["path"] の値が
まつもと ゆきひろです
In article <1069748137.095435.3356.nullmailer@picachu.netlab.jp>,
斜め読みですが、
まつもと ゆきひろです
In message <1070234162.951847.24883.nullmailer@picachu.netlab.jp>
[#22057] drb/drb.rb document — Minero Aoki <aamine@...>
青木です。
[#22071] Dir.glob と Shjift_JIS について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
はじめまして。山本といいます。
Siena. です。
> 山本さんのパッチがうまく当たらず手パッチしたので、念のため何度か
Siena. です。
こんにちは、山本です。
山本です。
山本です。
山本です。
山本です。glob_helperをリファクタリングしてみました。
なかだです。
山本です。
なかだです。
山本です。
Siena. です。
山本です。
山本です。
まつもと ゆきひろです
山本です。
山本です。パッチを送ります。
山本です。
山本です。
山本です。
山本です。
まつもと ゆきひろです
>すいません。パッチを出す時にはいつもどの時点のソースに対する
まつもと ゆきひろです
>|すみません、1.8.1に対してです。
まつもと ゆきひろです
こんにちは、山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。[ruby-dev:22470]にバグがあったので修正しました。
>山本です。[ruby-dev:22470]にバグがあったので修正しました。
まつもと ゆきひろです
山本です。
山本です。
In message <20040102230135.027CDAF8.ocean@m2.ccsnet.ne.jp>
山本です。
まつもと ゆきひろです
山本です。
山本です。
山本です。
なかだです。
山本です。
なかだです。
山本です。
[ruby-dev:21906] Re: pthread trouble on tcltklib
On Wed, 12 Nov 2003 11:20:18 +0900
In article <20031112111119.D6F8.TIETEW-ML-RUBY-DEV@tietew.net>
[[ruby-dev:21903] Re: pthread trouble on tcltklib]
Tietew <tietew-ml-ruby-dev@tietew.net> wrote:
> > > この部分ですが、rb_thread_schedule()への再入だけではなく、別の
> > > pthread内でのrubyスレッドの切替え自体が危険じゃないでしょうか。
> > > そう考えると、ロックじゃなくて最初にスレッドIDを保存しておいて、
> > > 単純に現在のスレッドと一致しなかったら戻る、だけでもよさそうな
> > > 気がして来ました。
チェック版パッチ作ってみました。
Index: eval.c
===================================================================
RCS file: /src/ruby/eval.c,v
retrieving revision 1.579
diff -p -u -2 -r1.579 eval.c
--- eval.c 29 Oct 2003 17:47:17 -0000 1.579
+++ eval.c 12 Nov 2003 02:49:32 -0000
@@ -8624,4 +8624,5 @@ rb_thread_schedule()
int select_timeout = 0;
+ THREAD_CHECK;
rb_thread_pending = 0;
if (curr_thread == curr_thread->next
Index: gc.c
===================================================================
RCS file: /src/ruby/gc.c,v
retrieving revision 1.160
diff -p -u -2 -r1.160 gc.c
--- gc.c 20 Oct 2003 02:06:39 -0000 1.160
+++ gc.c 12 Nov 2003 02:49:33 -0000
@@ -1217,4 +1217,5 @@ rb_gc()
SET_STACK_END;
+ THREAD_CHECK;
if (dont_gc || during_gc) {
if (!freelist) {
@@ -1317,4 +1318,14 @@ rb_gc_start()
}
+#ifdef HAVE_NATIVETHREAD
+static rb_nativethread_t ruby_thid;
+void
+rb_thread_check()
+{
+ if (!ruby_thid || ruby_thid != NATIVETHREAD_CURRENT())
+ rb_bug("cross-thread violation.");
+}
+#endif
+
void
Init_stack(addr)
@@ -1354,4 +1365,8 @@ Init_stack(addr)
STACK_LEVEL_MAX = IA64_MAGIC_STACK_LIMIT;
#endif
+#endif
+#ifdef HAVE_NATIVETHREAD
+ if (ruby_thid) rb_thread_check();
+ else ruby_thid = NATIVETHREAD_CURRENT();
#endif
}
Index: ruby.h
===================================================================
RCS file: /src/ruby/ruby.h,v
retrieving revision 1.90
diff -p -u -2 -r1.90 ruby.h
--- ruby.h 14 Oct 2003 02:53:53 -0000 1.90
+++ ruby.h 12 Nov 2003 02:49:33 -0000
@@ -672,4 +672,20 @@ static char *dln_libs_to_be_linked[] = {
#endif
+#if defined(HAVE_LIBPTHREAD)
+typedef pthread_t rb_nativethread_t;
+# define NATIVETHREAD_CURRENT() pthread_self()
+# define HAVE_NATIVETHREAD
+#elif defined(_WIN32) || defined(__CYGWIN__)
+typedef DWORD rb_nativethread_t;
+# define NATIVETHREAD_CURRENT() GetCurrentThreadId()
+# define HAVE_NATIVETHREAD
+#endif
+#ifdef HAVE_NATIVETHREAD
+extern void rb_thread_check _(());
+# define THREAD_CHECK rb_thread_check()
+#else
+# define THREAD_CHECK
+#endif
+
#if defined(__cplusplus)
} /* extern "C" { */
—[ Tietew ]——————————————————————————
メ : tietew@tietew.net / tietew@raug.net / tietew@masuclub.net
ホペ: http://www.tietew.net/ Tietew Windows Lab.
http://www.masuclub.net/ 鱒倶楽部
指紋: 26CB 71BB B595 09C4 0153 81C4 773C 963A D51B 8CAA