[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]