summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gv.c b/gv.c
index 505f6339e5..4adce49408 100644
--- a/gv.c
+++ b/gv.c
@@ -124,7 +124,8 @@ gv_init(GV *gv, HV *stash, char *name, STRLEN len, int multi)
CvSTASH(GvCV(gv)) = curstash;
#ifdef USE_THREADS
CvOWNER(GvCV(gv)) = 0;
- New(666, CvMUTEXP(GvCV(gv)), 1, perl_mutex);
+ if (!CvMUTEXP(GvCV(gv)))
+ New(666, CvMUTEXP(GvCV(gv)), 1, perl_mutex);
MUTEX_INIT(CvMUTEXP(GvCV(gv)));
#endif /* USE_THREADS */
if (proto) {