diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-24 02:00:10 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-11-24 02:00:10 +0000 |
commit | 82b33551a4ead2fa13120751242c493e2084cada (patch) | |
tree | 6f12db17afe2305cc966e094906a985cb549112c | |
parent | b9163cc1fdb109f214cda44b07f2b960338015f4 (diff) | |
download | ruby-82b33551a4ead2fa13120751242c493e2084cada.tar.gz |
* thread.c (thread_create_core): don't use th->thread_id before
initialized.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37824 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | thread.c | 3 |
2 files changed, 6 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Sat Nov 24 10:59:14 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * thread.c (thread_create_core): don't use th->thread_id before + initialized. + Sat Nov 24 00:00:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * ruby.c (proc_options, process_options, ruby_process_options): take @@ -570,13 +570,12 @@ thread_create_core(VALUE thval, VALUE args, VALUE (*fn)(ANYARGS)) native_mutex_initialize(&th->interrupt_lock); /* kick thread */ - st_insert(th->vm->living_threads, thval, (st_data_t) th->thread_id); err = native_thread_create(th); if (err) { - st_delete_wrap(th->vm->living_threads, th->self); th->status = THREAD_KILLED; rb_raise(rb_eThreadError, "can't create Thread (%d)", err); } + st_insert(th->vm->living_threads, thval, (st_data_t) th->thread_id); return thval; } |