summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2006-12-08 22:20:41 +0000
committerDave Mitchell <davem@fdisolutions.com>2006-12-08 22:20:41 +0000
commitd3c72c2aff7252db1d3477802ef64270fef79eae (patch)
tree989b577a514bafcedf5f245d64a6ab798d2205ff /sv.c
parent60c8298a73edc9f7e89dcf60682f3477045fa898 (diff)
downloadperl-d3c72c2aff7252db1d3477802ef64270fef79eae.tar.gz
add missing OP_REFCNT_LOCK/UNLOCKs and document it
p4raw-id: //depot/perl@29488
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sv.c b/sv.c
index a675df2ae3..2665b7759e 100644
--- a/sv.c
+++ b/sv.c
@@ -10421,7 +10421,9 @@ Perl_ss_dup(pTHX_ PerlInterpreter *proto_perl, CLONE_PARAMS* param)
case OP_LEAVEWRITE:
TOPPTR(nss,ix) = ptr;
o = (OP*)ptr;
+ OP_REFCNT_LOCK;
OpREFCNT_inc(o);
+ OP_REFCNT_UNLOCK;
break;
default:
TOPPTR(nss,ix) = NULL;
@@ -10993,7 +10995,9 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags,
/* current interpreter roots */
PL_main_cv = cv_dup_inc(proto_perl->Imain_cv, param);
+ OP_REFCNT_LOCK;
PL_main_root = OpREFCNT_inc(proto_perl->Imain_root);
+ OP_REFCNT_UNLOCK;
PL_main_start = proto_perl->Imain_start;
PL_eval_root = proto_perl->Ieval_root;
PL_eval_start = proto_perl->Ieval_start;