summaryrefslogtreecommitdiff
path: root/ext/threads/threads.xs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/threads/threads.xs')
-rwxr-xr-xext/threads/threads.xs6
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);