diff options
Diffstat (limited to 'ext/threads/threads.xs')
-rwxr-xr-x | ext/threads/threads.xs | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/threads/threads.xs b/ext/threads/threads.xs index f43b4280f7..e1414de877 100755 --- a/ext/threads/threads.xs +++ b/ext/threads/threads.xs @@ -688,10 +688,8 @@ S_ithread_create( thread->init_function = newSV(0); sv_copypv(thread->init_function, init_function); } else { - thread->init_function = sv_dup(init_function, &clone_param); - if (SvREFCNT(thread->init_function) == 0) { - SvREFCNT_inc_void(thread->init_function); - } + thread->init_function = + SvREFCNT_inc(sv_dup(init_function, &clone_param)); } thread->params = sv_dup(params, &clone_param); |