[#10481] ruby 1.4.6 preview3 — matz@... (Yukihiro Matsumoto)
8 messages
2000/08/01
[#10496] memory leak? — Minero Aoki <aamine@...>
あおきです。
8 messages
2000/08/02
[#10513] require './rbconfig'; rubytest.rb and instruby.rb — Ryo HAYASAKA <ryoh@...>
早坂@北陸先端です。
4 messages
2000/08/02
[#10595] fileutils.rb (2) — Minero Aoki <aamine@...>
あおきです。
5 messages
2000/08/07
[#10601] RubyCRT.dll for mswin32 — Katsuyuki Komatsu <komatsu@...>
小松です。
5 messages
2000/08/07
[#10626] irb — Kazuhiro NISHIYAMA <zn@...>
irbですが、irb --helpやirb -hでオプションのヘルプがでるように
8 messages
2000/08/12
[#10638] win32 times — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
7 messages
2000/08/15
[#10652] Forward: patches for mktemp -> mkstemp — "Akinori -Aki- MUSHA" <knu@...>
knu です。
5 messages
2000/08/18
[#10655] a regex bug? — "Akinori -Aki- MUSHA" <knu@...>
knu です。
11 messages
2000/08/20
[#10657] Re: a regex bug?
— matz@... (Yukihiro Matsumoto)
2000/08/20
まつもと ゆきひろです
[#10659] Re: a regex bug?
— Tanaka Akira <akr@...17n.org>
2000/08/21
In article <E13QXP4-0004kY-00@ev.netlab.zetabits.co.jp>,
[#10660] Re: a regex bug?
— Tanaka Akira <akr@...17n.org>
2000/08/21
後から気がついたのですが、
[#10661] bmingw package — WATANABE Hirofumi <eban@...>
わたなべです.
49 messages
2000/08/21
[#10664] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/21
なかだです。
[#10665] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/21
なかだです。
[#10667] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/21
わたなべです.
[#10668] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/22
なかだです。
[#10670] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/22
わたなべです.
[#10671] Re: bmingw package
— nobu.nakada@...
2000/08/22
なかだです。
[#10673] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/23
わたなべです.
[#10675] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/23
なかだです。
[#10693] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/28
わたなべです.
[#10707] Re: bmingw package
— nobu.nakada@...
2000/08/28
なかだです。
[#10713] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/29
わたなべです.
[#10717] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/29
なかだです。
[#10723] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10797] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/01
なかだです。
[#10821] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/04
わたなべです.
[#10824] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/04
なかだです。
[#10825] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/04
わたなべです.
[#10827] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/04
なかだです。
[#10837] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/05
わたなべです.
[#10838] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/05
なかだです。
[#10842] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/05
わたなべです.
[#10849] Re: bmingw package
— nobu.nakada@...
2000/09/05
なかだです。
[#10850] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/06
わたなべです.
[#10851] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/06
なかだです。
[#10855] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/07
わたなべです.
[#10859] Re: bmingw package
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/09/07
なかだです。
[#10867] Re: bmingw package
— WATANABE Hirofumi <eban@...>
2000/09/08
わたなべです.
[#10677] Class Variable — Shin-ichiro Hara <sinara@...>
原です。
16 messages
2000/08/24
[#10681] Re: Class Variable
— matz@... (Yukihiro Matsumoto)
2000/08/25
まつもと ゆきひろです
[#10695] Re: Class Variable
— Shin-ichiro Hara <sinara@...>
2000/08/28
原です。
[#10682] [PATCH] win32/config.h.in — nobu.nakada@...
なかだです。
7 messages
2000/08/25
[#10688] ruby-1.6.0-20000824.i586-mswin32 bug — Kazuhiro NISHIYAMA <zn@...>
http://www.geocities.co.jp/SiliconValley-Bay/4076/
34 messages
2000/08/27
[#10692] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/28
なかだです。
[#10705] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— Kazuhiro NISHIYAMA <zn@...>
2000/08/28
"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:
[#10711] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/29
なかだです。
[#10720] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— Katsuyuki Komatsu <komatsu@...>
2000/08/30
小松です.
[#10725] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/30
なかだです。
[#10727] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— matz@... (Yukihiro Matsumoto)
2000/08/30
まつもと ゆきひろです
[#10744] Re: ruby-1.6.0-20000824.i586-mswin32 bug
— "Nobuyoshi.Nakada" <nobu.nakada@...>
2000/08/30
なかだです。
[#10805] ruby-1.6.0-20000901.i586-mswin32.lzh
— Kazuhiro NISHIYAMA <zn@...>
2000/09/02
20000901のでもirbでCtrl+Cを押したら落ちました。
[#10807] Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— matz@... (Yukihiro Matsumoto)
2000/09/02
まつもと ゆきひろです
[#10811] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/03
たけ(tk)です。
[#10813] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— nobu.nakada@...
2000/09/03
なかだです。
[#10830] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/04
たけ(tk)です。
[#10832] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— nobu.nakada@...
2000/09/04
なかだです。
[#10844] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— "たけ(tk)" <ggb03124@...>
2000/09/05
たけ(tk)です。
[#10846] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— matz@... (Yukihiro Matsumoto)
2000/09/05
まつもと ゆきひろです
[#10848] Re: Ctrl+C on win32 console <- Re: ruby-1.6.0-20000901.i586-mswin32.lzh
— " たけ (tk)" <ggb03124@...>
2000/09/05
たけ(tk)です。
[#10719] GD-0.6.2 patch — a-shigi@...
ども鴫原です。
7 messages
2000/08/29
[#10729] Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha. — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
18 messages
2000/08/30
[#10730] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10734] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— kou@...1609.sip.eee.yamaguchi-u.ac.jp (Koichi Okada)
2000/08/30
はじめまして。
[#10739] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— WATANABE Hirofumi <eban@...>
2000/08/30
わたなべです.
[#10740] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— matz@... (Yukihiro Matsumoto)
2000/08/30
まつもと ゆきひろです
[#10733] Re: Fwd: patch of the ruby-1.4.6 for NT4.0&VC4.0 on DEC Alpha.
— Katsuyuki Komatsu <komatsu@...>
2000/08/30
小松です.
[#10762] ruby 1.6.0 preview — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
42 messages
2000/08/31
[#10770] Re: ruby 1.6.0 preview
— akira yamada / やまだあきら <akira@...>
2000/08/31
[#10766] Re: ruby 1.6.0 preview
— Katsuyuki Komatsu <komatsu@...>
2000/08/31
小松です.
[#10779] Re: ruby 1.6.0 preview
— WATANABE Hirofumi <eban@...>
2000/09/01
わたなべです.
[#10787] ruby 1.6.0 preview2
— matz@... (Yukihiro Matsumoto)
2000/09/01
まつもと ゆきひろです
[ruby-dev:10768] Re: ruby-1.6.0-20000824.i586-mswin32 bug
From:
"Nobuyoshi.Nakada" <nobu.nakada@...>
Date:
2000-08-31 15:57:28 UTC
List:
ruby-dev #10768
なかだです。
At Thu, 31 Aug 2000 09:29:04 +0900
"Nobuyoshi.Nakada" <nobu.nakada@nifty.ne.jp> wrote:
> こりゃダメっす。メインスレッドのレジスタが保存されてないので、不可思議
> な動きをしそうです。
とりあえずは動きますが、GC の途中(たぶん)で割り込むと、ハンドラから抜け
たところで SEGV します。デバッガで追ってみると win32_call_handler() で
SetThreadContext() するところまでは OK なんですが。
一応途中経過の報告ってことで、分かる方なんか教えてください (他力本願モー
ド ^^;)。
diff -pruPX ./.excludes current/signal.c devel/signal.c
--- current/signal.c Mon Aug 7 14:01:57 2000
+++ devel/signal.c Thu Aug 31 17:02:29 2000
@@ -341,6 +341,10 @@ static RETSIGTYPE
sighandle(sig)
int sig;
{
+#ifdef NT
+ if (win32_main_context(sig, sighandle)) return;
+#endif
+
if (sig >= NSIG) {
rb_bug("trap_handler: Bad signal %d", sig);
}
diff -pruPX ./.excludes current/win32/win32.c devel/win32/win32.c
--- current/win32/win32.c Tue Aug 15 16:11:13 2000
+++ devel/win32/win32.c Thu Aug 31 16:28:41 2000
@@ -75,6 +75,9 @@ IsWinNT(void) {
return (IdOS() == VER_PLATFORM_WIN32_NT);
}
+/* main thread constants */
+HANDLE rb_MainThreadHandle;
+DWORD rb_MainThreadId;
/* simulate flock by locking a range on the file */
@@ -164,6 +167,11 @@ NtInitialize(int *argc, char ***argv) {
WORD version;
int ret;
+ HANDLE proc = GetCurrentProcess();
+
+ DuplicateHandle(proc, GetCurrentThread(), proc,
+ &rb_MainThreadHandle, 0, FALSE, DUPLICATE_SAME_ACCESS);
+ rb_MainThreadId = GetCurrentThreadId();
//
// subvert cmd.exe\'s feeble attempt at command line parsing
@@ -2498,4 +2506,61 @@ mytimes(struct tms *tmbuf)
tmbuf->tms_cstime = 0;
}
return 0;
+}
+
+int
+win32_thread_exclusive(void)
+{
+ if (GetCurrentThreadId() == rb_MainThreadId) return FALSE;
+
+ SuspendThread(rb_MainThreadHandle);
+ return TRUE;
+}
+
+void
+win32_thread_resume(void)
+{
+ ResumeThread(rb_MainThreadHandle);
+}
+
+static void
+win32_call_handler(int arg, void handler(int), CONTEXT con)
+{
+ handler(arg);
+ SetThreadContext(rb_MainThreadHandle, &con);
+ /* NOTREACHED */
+}
+
+void
+win32_thread_set_context(int arg, void handler(int))
+{
+ CONTEXT con;
+
+ ZeroMemory(&con, sizeof(CONTEXT));
+ con.ContextFlags = CONTEXT_FULL;
+ GetThreadContext(rb_MainThreadHandle, &con);
+ con.ContextFlags = CONTEXT_FULL;
+#ifdef _M_IX86
+ {
+ DWORD* esp = (DWORD *)(con.Esp - sizeof(CONTEXT));
+ *(CONTEXT *)esp = con;
+ *--esp = (DWORD)handler;
+ *--esp = arg;
+ *--esp = (DWORD)abort; /* never reached */
+ con.Esp = (DWORD)esp;
+ }
+ con.Eip = (DWORD)win32_call_handler;;
+#else
+#error
+#endif
+ SetThreadContext(rb_MainThreadHandle, &con);
+}
+
+int
+win32_main_context(int arg, void handler(int))
+{
+ if (!win32_thread_exclusive()) return FALSE;
+ win32_thread_set_context(arg, handler);
+ win32_thread_resume();
+ return TRUE;
}
diff -pruPX ./.excludes current/win32/win32.h devel/win32/win32.h
--- current/win32/win32.h Tue Aug 15 15:22:49 2000
+++ devel/win32/win32.h Thu Aug 31 13:12:28 2000
@@ -426,4 +426,14 @@ struct tms {
#endif
#define times mytimes
+/* thread stuff */
+/* initialized by NtInitialize() */
+HANDLE rb_MainThreadHandle;
+DWORD rb_MainThreadId;
+
+int win32_thread_exclusive(void);
+void win32_thread_resume(void);
+int win32_main_context(int arg, void handler(int));
+
+
#endif
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦