From 014a5f31789856f9ed7a59f19fb3c3e544655a7d Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 28 Jun 2011 02:53:15 +0000 Subject: * thread_pthread.c (consume_communication_pipe): Make "buff" as static. (Maybe) "buff" can be shared between any caller (any threads) because no one use the read values. And remove const value "buff_size", and define CCP_READ_BUFF_SIZE macro. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32266 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 8 ++++++++ thread_pthread.c | 12 +++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 45332bfd1f..1143be6b20 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Tue Jun 28 11:49:14 2011 Koichi Sasada + + * thread_pthread.c (consume_communication_pipe): + Make "buff" as static. (Maybe) "buff" can be shared between + any caller (any threads) because no one use the read values. + And remove const value "buff_size", and define CCP_READ_BUFF_SIZE + macro. + Tue Jun 28 11:45:30 2011 Eric Hodel * lib/rake: Update rake to fix some bugs and hide deprecated features diff --git a/thread_pthread.c b/thread_pthread.c index 5726e3ba93..e78c10fb46 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -1021,15 +1021,13 @@ rb_thread_wakeup_timer_thread(void) static void consume_communication_pipe(void) { - const size_t buff_size = 1024; -#ifdef __FreeBSD__ - char buff[buff_size]; -#else - char buff[1024]; -#endif +#define CCP_READ_BUFF_SIZE 1024 + /* buffer can be shared because no one refers to them. */ + static char buff[CCP_READ_BUFF_SIZE]; ssize_t result; + retry: - result = read(timer_thread_pipe[0], buff, buff_size); + result = read(timer_thread_pipe[0], buff, CCP_READ_BUFF_SIZE); if (result < 0) { switch (errno) { case EINTR: goto retry; -- cgit v1.2.3