Issue #5757 has been updated by Motohiro KOSAKI.


[Bug #5343] (r33307) ??с??regression??с?????(193??????潟???????? r33310)??????膣????????????????ゃ???????? Bug #5343???緇羇?????????障?????с????帥?ゃ????取下???綽?荀?????????????????????????с???????????帥?ゃ????若?鴻?????????莎激??????????????帥?ゃ????若?c?羈ョ??????????腴??????????
----------------------------------------
Bug #5757: main thread???read???select??у????c??????????^C ??с???????罩祉????
http://redmine.ruby-lang.org/issues/5757

Author: Yui NARUSE
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 
ruby -v: ruby 2.0.0dev (2011-12-12 trunk 34015) [x86_64-freebsd9.0]


FreeBSD 9 ????? ./ruby ??莎????????? ^C ?????????????????????罩祉??障????????
./miniruby ??с?? -e'$stdin.read' ??с??????????с?????

篁?腟???帥????????main thread ??? read ??? select ??у????ゅ?翫????????菴???? blocking region ???
unblock.func ??? ubf_select ???荐???????????????с??????????????????激?違????????ャ??????
1. ??????????鴻????????? sighandler ?????若?違??????rb_thread_wakeup_timer_thread() ?????若?違?????
2. ??帥?ゃ????若?鴻?????????莎激??????thread_timer() -> timer_thread_function() -> rb_threadptr_check_signal() -> rb_threadptr_interrupt() -> (th->unblock.func)(th->unblock.arg) -> ubf_select() -> rb_thread_wakeup_timer_thread() ?????若?違?????
3. ??帥?ゃ????若?鴻?????????莎激??????thread_timer() -> timer_thread_function() -> rb_threadptr_check_signal() -> rb_threadptr_interrupt() -> (th->unblock.func)(th->unblock.arg) -> ubf_select() -> rb_thread_wakeup_timer_thread() ?????若?違?????
4. ??帥?ゃ????若?鴻?????????莎激??????thread_timer() -> timer_thread_function() -> rb_threadptr_check_signal() -> rb_threadptr_interrupt() -> (th->unblock.func)(th->unblock.arg) -> ubf_select() -> rb_thread_wakeup_timer_thread() ?????若?違?????
...

絲丞??????????ゃ????????緇??????????????с????????箴??????違??ubf_select() ?????? rb_thread_wakeup_timer_thread() ?????若?違????????????????????


-- 
http://redmine.ruby-lang.org