[#30549] [ANN] Ruby 1.8.6 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 をリリースしました。

14 messages 2007/03/12

[#30553] help: lib/shell for ruby 1.9 — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

13 messages 2007/03/13
[#30585] Re: help: lib/shell for ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/03/15

まつもと ゆきひろです

[#30587] Re: help: lib/shell for ruby 1.9 — keiju@... (石塚圭樹) 2007/03/15

けいじゅ@いしつかです.

[#30588] Re: help: lib/shell for ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/03/15

まつもと ゆきひろです

[ruby-dev:30599] Re: [BUG] waitpid for ruby-trunk

From: keiju@... (石塚圭樹)
Date: 2007-03-16 04:22:24 UTC
List: ruby-dev #30599
けいじゅ@いしつかです.

In [ruby-dev:30598] the message: "[ruby-dev:30598] Re: [BUG] waitpid for ruby-trunk", on Mar/16 12:47(JST) 
Nobuyoshi Nakada writes: 

>なかだです。

>Linux 2.4でしょうか。2.6だと正常に終了します。

その通りです.

>たぶん、pthread_kill()が正しい相手に届いてないんじゃないかと想
>像しますが。
>
>-DTHREAD_DEBUG=-1をつけてコンパイルして、先頭に
>  Thread.DEBUG = true
>をいれてテストしてみてください。

Thread.DEBUG= はないとエラーが出ました. Thread::DEBUG = 1 で実行しまし
た.

># -DTHREAD_DEBUG=1 はminirubyまでにしといたほうが無難。

何となく理解(^^;

結果は以下の感じです. これでわかります? ちなみにテストスクリプトは変更
していて:

p1 = fork{exec "sleep", "10"}
p2 = fork{exec "sleep", "10"}

となっています.


-- 
emperor:/home/keiju/var/src/var.lib/ruby/RubyBase/ruby-trunk# ./ruby /tmp/test-waitpid.rb
0x4000 - rb_thread_wait_fd_rw(5, read)
0x4000 - enter blocking region (0x81748d8)
0x4000 - leave blocking region (0x81748d8)
0x4000 - rb_thread_wait_fd_rw(5, read): done
0x4000 - rb_thread_wait_fd_rw(5, read)
0x4000 - enter blocking region (0x81748d8)
0x4000 - leave blocking region (0x81748d8)
0x4000 - rb_thread_wait_fd_rw(5, read): done
0x4000 - create - stack size: 524288
0x4000 - create: 0x8181510 (0)0x4000 - create - stack size: 524288
0x8003 - thread start: 0x8181510
0xc004 - thread start: 0x8186178
0x4000 - create: 0x8186178 (0)0x4000 - rb_thread_schedule
0x4000 - rb_thread_alone: 3
0x4000 - rb_thread_schedule/switch start
0x8003 - thread start (get lock): 0x8181510
0x8003 - rb_thread_wait_fd_rw(1, write)
0x8003 - enter blocking region (0x8181510)
0xc004 - thread start (get lock): 0x8186178
0xc004 - rb_thread_wait_fd_rw(1, write)
0xc004 - enter blocking region (0x8186178)
0x8003 - leave blocking region (0x8181510)
0x8003 - rb_thread_schedule
0x8003 - rb_thread_alone: 3
0x8003 - rb_thread_schedule/switch start
0x4000 - rb_thread_schedule/switch done
0x4000 - native_sleep 20
0x4000 - native_sleep: pthread_cond_timedwait start (1174018444, 497774000)
0x8003 - rb_thread_schedule/switch done
0x8003 - rb_thread_wait_fd_rw(1, write): done
wait p#1
wait p#2
0x8003 - enter blocking region (0x8181510)
0x8003 - leave blocking region (0x8181510)
0x8003 - rb_thread_wait_fd_rw(1, write)
0x8003 - enter blocking region (0x8181510)
0x8003 - leave blocking region (0x8181510)
0x8003 - rb_thread_wait_fd_rw(1, write): done
#<Errno::ECHILD: No child processes>
0x8003 - thread end: 0x8181510
0xc004 - leave blocking region (0x8186178)
0xc004 - rb_thread_wait_fd_rw(1, write): done
0xc004 - enter blocking region (0x8186178)
0xc004 - leave blocking region (0x8186178)
0xc004 - rb_thread_wait_fd_rw(1, write)
0xc004 - enter blocking region (0x8186178)
0xc004 - leave blocking region (0x8186178)
0xc004 - rb_thread_schedule
0xc004 - rb_thread_alone: 2
0xc004 - rb_thread_schedule/switch start
0xc004 - rb_thread_schedule/switch done
0xc004 - rb_thread_wait_fd_rw(1, write): done
#<Errno::ECHILD: No child processes>
0xc004 - thread end: 0x8186178
>

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---

In This Thread