summaryrefslogtreecommitdiff
path: root/ext/threads
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2008-01-21 11:49:38 +0000
committerNicholas Clark <nick@ccl4.org>2008-01-21 11:49:38 +0000
commit7df0357e86d252406ff52a5b94e0478fc1ccd1be (patch)
tree32ef031dd3881a8ba8c89ba47c5302adda58083b /ext/threads
parentb8d2d791b64fb0a5a279a8e56bdd03fa62c16e66 (diff)
downloadperl-7df0357e86d252406ff52a5b94e0478fc1ccd1be.tar.gz
More places that could be using G_WANT, not picked up by change 33021.
p4raw-id: //depot/perl@33024
Diffstat (limited to 'ext/threads')
-rwxr-xr-xext/threads/threads.xs8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/threads/threads.xs b/ext/threads/threads.xs
index 53d5b6d5ad..2b7223a00a 100755
--- a/ext/threads/threads.xs
+++ b/ext/threads/threads.xs
@@ -452,7 +452,7 @@ S_ithread_run(void * arg)
SPAGAIN;
for (ii=len-1; ii >= 0; ii--) {
SV *sv = POPs;
- if (jmp_rc == 0 && (! (thread->gimme & G_VOID))) {
+ if (jmp_rc == 0 && (thread->gimme & G_WANT) != G_VOID) {
av_store(params, ii, SvREFCNT_inc(sv));
}
}
@@ -1122,7 +1122,7 @@ ithread_join(...)
MUTEX_LOCK(&thread->mutex);
/* Get the return value from the call_sv */
/* Objects do not survive this process - FIXME */
- if (! (thread->gimme & G_VOID)) {
+ if ((thread->gimme & G_WANT) != G_VOID) {
AV *params_copy;
PerlInterpreter *other_perl;
CLONE_PARAMS clone_params;
@@ -1459,8 +1459,8 @@ ithread_wantarray(...)
CODE:
PERL_UNUSED_VAR(items);
thread = S_SV_to_ithread(aTHX_ ST(0));
- ST(0) = (thread->gimme & G_ARRAY) ? &PL_sv_yes :
- (thread->gimme & G_VOID) ? &PL_sv_undef
+ ST(0) = ((thread->gimme & G_WANT) == G_ARRAY) ? &PL_sv_yes :
+ ((thread->gimme & G_WANT) == G_VOID) ? &PL_sv_undef
/* G_SCALAR */ : &PL_sv_no;
/* XSRETURN(1); - implied */