[#15040] WeakRef and load(file, true) — Shugo Maeda <shugo@...>
前田です。
[#15043] puts array — "Akinori MUSHA" <knu@...>
puts に配列を与えたときの挙動が最新の 1.7 では変わっていて
こんにちは、なかむら(う)です。
At Wed, 7 Nov 2001 09:54:03 +0900,
[#15044] resolv.rb — Kazuhiro NISHIYAMA <zn@...>
Resolv::Hostsのデフォルトのファイル名ってWindows 9x環境だと
[#15047] can't set chomped String to environment — nobu.nakada@...
なかだです。
まつもと ゆきひろです
[#15067] rb_eval_string — OJ <oj@...7.com>
OJです。
なかだです。
OJです。
なかだです。
OJです。
わたなべです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
[#15100] Using static mark stack, GC is slow. — sheepman <sheepman@...>
こんばんは
[#15101] [bug?] pty causes segv by getting SIGINT — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#15102] Gtk::Object#flags!= — akira yamada / やまだあきら <akira@...>
[#15116] rubylib_mangle whitespace — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
まつもと ゆきひろです
わたなべです。
[#15132] uri.rb — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#15174] strange behavior about PTY.spawn — akira yamada / やまだあきら <akira@...>
まつもと ゆきひろです
[#15175] ruby-mingw32 configuration — HIDAKA Takahiro <cv8t-hdk@...>
ひだかです。
わたなべです。
[#15239] gc.c (gc_mark_rest): declare work area as static — "K.Kosako" <kosako@...>
現在のGCのアルゴリズム(matz-sheepman)を少し変更しようと思って、
On Thu, 22 Nov 2001 16:21:17 +0900
sheepmanさんの<20011122202749.56b8eb49.sheepman@tcn.zaq.ne.jp>から
[#15251] Re: [ruby-ext:01999] Re: syslog module is becoming ready — "Akinori MUSHA" <knu@...>
というわけで 1.7 に syslog モジュールを入れました。
なかだです。
ただただしです。
At Mon, 26 Nov 2001 22:30:03 +0900,
In article <86r8ql90zt.wl@archon.local.idaemons.org>,
At Mon, 26 Nov 2001 23:07:30 +0900,
あおきです。
At Wed, 28 Nov 2001 07:58:55 +0900,
あおきです。
そうそう、 optparse も標準に入っていると便利だと思うのですが
まつもと ゆきひろです
In message <1007018271.960435.20342.nullmailer@ev.netlab.jp>
まつもと ゆきひろです
[#15270] ruby on NetBSD — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
In message <20011128181510.3D11.USA@osb.att.ne.jp>
こんにちは、なかむら(う)です。
In message <20011128182726.3D14.USA@osb.att.ne.jp>
なかだです。
こんにちは、なかむら(う)です。
In message <20011129183834.3790.USA@osb.att.ne.jp>
こんにちは、なかむら(う)です。
わたなべです。
こんにちは、なかむら(う)です。
取り込み、ありがとうございます。
こんにちは、なかむら(う)です。
[#15292] Re: m17n ruby 特に TRON 文字コード — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
[#15298] time.rb — Tanaka Akira <akr@...17n.org>
というわけで、timex.rb 改め time.rb が rough に入ったのでご意見募集です。
In article <hvovgftkgy7.fsf@coulee.a02.aist.go.jp>,
まつもと ゆきひろです
まつもと ゆきひろです
In article <1009298477.998171.30253.nullmailer@ev.netlab.jp>,
[ruby-dev:15101] [bug?] pty causes segv by getting SIGINT
ptyモジュールを使っていて PTY.spawn {...} が生きているときに
C-cでわり込みをかけるとsegvすることがあるようです.
で, こんな感じにすると現象自体はおさまります. どんなものでしょうか?
Index: ext/pty/pty.c
===================================================================
RCS file: /home/akira/cvs/ruby-src/cvs/ruby/ext/pty/pty.c,v
retrieving revision 1.5.2.2
diff -u -r1.5.2.2 pty.c
--- ext/pty/pty.c 7 May 2001 06:55:42 -0000 1.5.2.2
+++ ext/pty/pty.c 11 Nov 2001 11:57:28 -0000
@@ -426,7 +426,7 @@
pty_getpty(self, shell)
VALUE self, shell;
{
- VALUE res;
+ VALUE res, command;
struct pty_info info;
OpenFile *wfptr,*rfptr;
NEWOBJ(rport, struct RFile);
@@ -442,15 +442,23 @@
OBJSETUP(wport, rb_cFile, T_FILE);
MakeOpenFile(wport, wfptr);
- establishShell(RSTRING(shell)->ptr,&info);
+ if (TYPE(shell) == T_STRING)
+ command = shell;
+ else if (TYPE(shell) == T_ARRAY)
+ command = rb_ary_join(shell,rb_str_new2(" "));
+ else
+ rb_raise(rb_eTypeError, "String object or Array object are expected");
+ Check_SafeStr(command);
+
+ establishShell(RSTRING(command)->ptr,&info);
rfptr->mode = rb_io_mode_flags("r");
rfptr->f = fdopen(info.fd, "r");
- rfptr->path = strdup(RSTRING(shell)->ptr);
+ rfptr->path = strdup(RSTRING(command)->ptr);
wfptr->mode = rb_io_mode_flags("w");
wfptr->f = fdopen(dup(info.fd), "w");
- wfptr->path = strdup(RSTRING(shell)->ptr);
+ wfptr->path = strdup(RSTRING(command)->ptr);
res = rb_ary_new2(2);
rb_ary_store(res,0,(VALUE)rport);
@@ -458,8 +466,7 @@
rb_ary_store(res,2,INT2FIX(info.child_pid));
if (rb_block_given_p()) {
- rb_yield((VALUE)res);
- reset_signal_action();
+ rb_ensure(rb_yield, (VALUE)res, (VALUE (*)())reset_signal_action, Qnil);
return Qnil;
}
else {
あと前述の件とは別に, PTY.spawnの引数が文字列以外の場合に
やはりsegvしてしまうのとCheck_SafeStrする必要があるのではないかな
と思ったのでその処理も加えてあります.
--
やまだ あきら <URL:http://arika.org/>
(akira@arika.org, akira@ruby-lang.org or akira@linux.or.jp)