summaryrefslogtreecommitdiffstats
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
commitd2bd498efcb41d810599fdb44dcfb62dadec4c85 (patch)
tree6c962674e1b0e35906e737ab9ea093f14b34b746 /thread.c
parentef99f9054240b46022c616e5d5ad1f3890af38a8 (diff)
downloadruby-d2bd498efcb41d810599fdb44dcfb62dadec4c85.tar.gz
ruby-d2bd498efcb41d810599fdb44dcfb62dadec4c85.tar.xz
ruby-d2bd498efcb41d810599fdb44dcfb62dadec4c85.zip
* thread.c (thread_create_core): fix GC problem.
[ruby-core:17669] git-svn-id: http://svn.ruby-lang.org/repos/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 65c1706f8..2f768b2ca 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;