diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-06 03:46:39 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-07-06 03:46:39 +0000 |
commit | 8a995a56c7ce9a5e7688e20fdfa101b206407ae1 (patch) | |
tree | 160528c14926441c4444e334d0017ae0198e92c6 | |
parent | 1474cfa8464113fef696ef0f6e8b785fdfc5fc76 (diff) | |
download | ruby-8a995a56c7ce9a5e7688e20fdfa101b206407ae1.tar.gz |
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.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36331 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | thread.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -3727,9 +3727,9 @@ thread_shield_alloc(VALUE klass) 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 @@ rb_thread_shield_waiting_inc(VALUE b) 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; |