summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-07 13:24:03 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-07 13:24:03 +0000
commit98ad27497471cc85cb249ffd7693cd5547c886d5 (patch)
tree2d9d104799329d4730a3b258d3b73fcca27a7468 /thread.c
parent274c6471b870cb36475c9e6ca3ef6e82a8250187 (diff)
* thread.c (rb_thread_key_p): should always convert symbol to ID.
[ruby-dev:34588] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/thread.c b/thread.c
index f0f2dce870..79c47b0f10 100644
--- a/thread.c
+++ b/thread.c
@@ -1557,15 +1557,17 @@ rb_thread_aset(VALUE self, ID id, VALUE val)
*/
static VALUE
-rb_thread_key_p(VALUE self, ID id)
+rb_thread_key_p(VALUE self, VALUE key)
{
rb_thread_t *th;
+ ID id = rb_to_id(key);
+
GetThreadPtr(self, th);
if (!th->local_storage) {
return Qfalse;
}
- if (st_lookup(th->local_storage, rb_to_id(id), 0)) {
+ if (st_lookup(th->local_storage, key, 0)) {
return Qtrue;
}
return Qfalse;