ruby-changes:24280
From: nobu <ko1@a...>
Date: Fri, 6 Jul 2012 12:49:02 +0900 (JST)
Subject: [ruby-changes:24280] nobu:r36331 (trunk): thread.c: unsigned
nobu 2012-07-06 12:46:39 +0900 (Fri, 06 Jul 2012) New Revision: 36331 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=36331 Log: thread.c: unsigned * thread.c (rb_thread_shield_waiting_{inc,dec}): should be unsigned. int is large enough since ruby requires it to be 32bit at least. Modified files: trunk/thread.c Index: thread.c =================================================================== --- thread.c (revision 36330) +++ thread.c (revision 36331) @@ -3727,9 +3727,9 @@ static inline void rb_thread_shield_waiting_inc(VALUE b) { - int w = rb_thread_shield_waiting(b); + unsigned int w = rb_thread_shield_waiting(b); w++; - if (w > (THREAD_SHIELD_WAITING_MASK>>THREAD_SHIELD_WAITING_SHIFT)) + if (w > (unsigned int)(THREAD_SHIELD_WAITING_MASK>>THREAD_SHIELD_WAITING_SHIFT)) rb_raise(rb_eRuntimeError, "waiting count overflow"); RBASIC(b)->flags &= ~THREAD_SHIELD_WAITING_MASK; RBASIC(b)->flags |= ((VALUE)w << THREAD_SHIELD_WAITING_SHIFT); @@ -3738,7 +3738,7 @@ static inline void rb_thread_shield_waiting_dec(VALUE b) { - int w = rb_thread_shield_waiting(b); + unsigned int w = rb_thread_shield_waiting(b); if (!w) rb_raise(rb_eRuntimeError, "waiting count underflow"); w--; RBASIC(b)->flags &= ~THREAD_SHIELD_WAITING_MASK; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/