summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-10 15:58:07 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-10 15:58:07 +0000
commitdf91d39c943333ea39be83cdcc0efb5ee1fb943d (patch)
tree6c962674e1b0e35906e737ab9ea093f14b34b746 /thread.c
parent5c91367675ffc3e7b1a2214d354e518c3565e776 (diff)
* thread.c (thread_create_core): fix GC problem.
[ruby-core:17669] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/thread.c b/thread.c
index 65c1706f8b..2f768b2cab 100644
--- a/thread.c
+++ b/thread.c
@@ -440,9 +440,9 @@ thread_create_core(VALUE thval, VALUE args, VALUE (*fn)(ANYARGS))
GetThreadPtr(thval, th);
/* setup thread environment */
- th->first_args = args;
- th->first_proc = fn ? Qfalse : rb_block_proc();
th->first_func = fn;
+ th->first_proc = fn ? Qfalse : rb_block_proc();
+ th->first_args = args; /* GC: shouldn't put before above line */
th->priority = GET_THREAD()->priority;
th->thgroup = GET_THREAD()->thgroup;