summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorDave Mitchell <davem@fdisolutions.com>2005-02-26 11:32:59 +0000
committerDave Mitchell <davem@fdisolutions.com>2005-02-26 11:32:59 +0000
commit10532ef0bc83090a3acebb63693a4f506bd96830 (patch)
tree47d738e2948ae79005347dc11512a63839a9ef3a /ext
parent86f0d186b5906b677cf64db5216b59d27c937db6 (diff)
downloadperl-10532ef0bc83090a3acebb63693a4f506bd96830.tar.gz
ithreads: cond_signal() on a non-shared object coredumped
p4raw-id: //depot/perl@23998
Diffstat (limited to 'ext')
-rw-r--r--ext/threads/shared/shared.xs4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/threads/shared/shared.xs b/ext/threads/shared/shared.xs
index 2d61d24e98..f9222420c7 100644
--- a/ext/threads/shared/shared.xs
+++ b/ext/threads/shared/shared.xs
@@ -1237,11 +1237,11 @@ cond_signal_enabled(SV *ref)
if(SvROK(ref))
ref = SvRV(ref);
shared = Perl_sharedsv_find(aTHX_ ref);
+ if(!shared)
+ croak("cond_signal can only be used on shared values");
if (ckWARN(WARN_THREADS) && shared->lock.owner != aTHX)
Perl_warner(aTHX_ packWARN(WARN_THREADS),
"cond_signal() called on unlocked variable");
- if(!shared)
- croak("cond_signal can only be used on shared values");
COND_SIGNAL(&shared->user_cond);
void