diff options
| author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-11 15:54:49 +0000 |
|---|---|---|
| committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-03-11 15:54:49 +0000 |
| commit | 6901ebcb7ceddb125d28490577afb19c06f5fc40 (patch) | |
| tree | 77dae54bc870d0d98527fb1d20e4ccaa2e86273d /ChangeLog | |
| parent | c98f39af775058dfc39e9f14fb0557e887efbba5 (diff) | |
merge revision(s) 39679,39682,39683,39685,39686,39694: [Backport #7999]
* thread_pthread.c (set_nonblock): new helper function for set
O_NONBLOCK.
* thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK
to timer_thread_pipe[0] too.
* thread_pthread.c (consume_communication_pipe): retry when
read returned CCP_READ_BUFF_SIZE.
* thread_pthread.c (rb_thread_create_timer_thread): factor out
creating communication pipe logic into separate function.
* thread_pthread.c (setup_communication_pipe): new helper function.
* thread_pthread.c (set_nonblock): moves a definition before
setup_communication_pipe.
* thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd
argument and remove hardcoded dependency of timer_thread_pipe[1].
* thread_pthread.c (consume_communication_pipe): add fd argument.
* thread_pthread.c (close_communication_pipe): ditto.
* thread_pthread.c (timer_thread_sleep): adjust the above changes.
* thread_pthread.c (setup_communication_pipe_internal): factor
out pipe initialize logic.
* thread_pthread.c (ARRAY_SIZE): new.
* thread_pthread.c (gvl_acquire_common): use low priority
notification for avoiding timer thread interval confusion.
If we use timer_thread_pipe[1], every gvl_yield() request
one more gvl_yield(). It lead to thread starvation.
[Bug #7999] [ruby-core:53095]
* thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low
to reserved fds.
* process.c (setup_communication_pipe): remove unused function.
it was unintentionally added r39683.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39727 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ChangeLog')
| -rw-r--r-- | ChangeLog | 48 |
1 files changed, 48 insertions, 0 deletions
@@ -1,3 +1,51 @@ +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * process.c (setup_communication_pipe): remove unused function. + it was unintentionally added r39683. + +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (ARRAY_SIZE): new. + * thread_pthread.c (gvl_acquire_common): use low priority + notification for avoiding timer thread interval confusion. + If we use timer_thread_pipe[1], every gvl_yield() request + one more gvl_yield(). It lead to thread starvation. + [Bug #7999] [ruby-core:53095] + * thread_pthread.c (rb_reserved_fd_p): adds timer_thread_pipe_low + to reserved fds. + +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (rb_thread_wakeup_timer_thread_fd): add fd + argument and remove hardcoded dependency of timer_thread_pipe[1]. + * thread_pthread.c (consume_communication_pipe): add fd argument. + * thread_pthread.c (close_communication_pipe): ditto. + + * thread_pthread.c (timer_thread_sleep): adjust the above changes. + + * thread_pthread.c (setup_communication_pipe_internal): factor + out pipe initialize logic. + +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (rb_thread_create_timer_thread): factor out + creating communication pipe logic into separate function. + * thread_pthread.c (setup_communication_pipe): new helper function. + * thread_pthread.c (set_nonblock): moves a definition before + setup_communication_pipe. + +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (consume_communication_pipe): retry when + read returned CCP_READ_BUFF_SIZE. + +Tue Mar 12 00:53:34 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread_pthread.c (set_nonblock): new helper function for set + O_NONBLOCK. + * thread_pthread.c (rb_thread_create_timer_thread): set O_NONBLOCK + to timer_thread_pipe[0] too. + Tue Mar 12 00:51:23 2013 KOSAKI Motohiro <kosaki.motohiro@gmail.com> * thread_pthread.c (timer_thread_sleep): use poll() instead of |
