From: nobu.nakada@... Date: 2001-11-16T12:56:40+09:00 Subject: [ruby-dev:15188] Re: strange behavior about PTY.spawn なかだです。 At Fri, 16 Nov 2001 12:44:32 +0900, Nobuyoshi-Nakada wrote: > あんまりちゃんと読んでないのですが、例外を投げるのはThread.main > よりもThread.currentの方がよくないでしょうか。 すいません、block_given?じゃないときがまずいですね。 同じく[ruby-dev:15185]へのパッチです。[ruby-dev:15187]のは捨て。 --- pty.c~ Fri Nov 16 12:21:03 2001 +++ pty.c Fri Nov 16 12:49:39 2001 @@ -119,15 +119,6 @@ pty_raise(cpid, sig, th) char buf[1024]; - if (NIL_P(th)) { - snprintf(buf, sizeof(buf), - "eval %%Q{Thread.main.raise 'pty - process %d received signal: %d'}, nil, \"%s\", %d", - cpid, sig, ruby_sourcefile, ruby_sourceline); - rb_eval_string(buf); - } - else { - snprintf(buf, sizeof(buf), "pty - process %d received signal: %d", cpid, sig); - rb_funcall(th, rb_intern("raise"), 2, - rb_eRuntimeError, rb_str_new2(buf)); - } + snprintf(buf, sizeof(buf), "pty - process %d received signal: %d", cpid, sig); + rb_funcall(th, rb_intern("raise"), 2, rb_eRuntimeError, rb_str_new2(buf)); } @@ -445,5 +436,5 @@ pty_getpty(self, command) else { rb_ary_store(thver,0,(VALUE)INT2NUM(info.child_pid)); - rb_ary_store(thver,1,(VALUE)Qnil); + rb_ary_store(thver,1,(VALUE)rb_thread_current()); thc = rb_thread_create(pty_syswait, (void*)thver); return res; -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦