Issue #5757 has been updated by Tomoyuki Chikanaga.

Status changed from Assigned to Closed


----------------------------------------
Bug #5757: main thread???read???select??у????c??????????^C ??с???????罩祉????
https://bugs.ruby-lang.org/issues/5757

Author: Yui NARUSE
Status: Closed
Priority: Normal
Assignee: Tomoyuki Chikanaga
Category: 
Target version: 
ruby -v: -


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