line |
true |
false |
branch |
88
|
4 |
15 |
if (async->hysteresis) |
91
|
13 |
6 |
*async->valuep = value ? value : 1; |
98
|
11 |
8 |
if (!async->blocked) |
106
|
19 |
0 |
if (!pending && async->fd_enable && async->ep.len) |
|
6 |
13 |
if (!pending && async->fd_enable && async->ep.len) |
|
6 |
0 |
if (!pending && async->fd_enable && async->ep.len) |
120
|
4 |
15 |
if (async->hysteresis) |
124
|
6 |
13 |
if (async->fd_enable && async->ep.len && async->autodrain) |
|
6 |
0 |
if (async->fd_enable && async->ep.len && async->autodrain) |
|
6 |
0 |
if (async->fd_enable && async->ep.len && async->autodrain) |
127
|
0 |
19 |
if (async->c_cb) |
133
|
19 |
0 |
if (async->cb) |
137
|
19 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
0 |
19 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
0 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
0 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
0 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
0 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
|
19 |
0 |
SV *saveerr = SvOK (ERRSV) ? sv_mortalcopy (ERRSV) : 0; |
142
|
0 |
19 |
PUSHSTACKi (PERLSI_SIGNAL); |
144
|
0 |
19 |
PUSHMARK (SP); |
145
|
0 |
19 |
XPUSHs (sv_2mortal (newSViv (value))); |
149
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
19 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
19 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
19 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
19 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
0 |
if (SvTRUE (ERRSV)) |
|
0 |
19 |
if (SvTRUE (ERRSV)) |
153
|
0 |
0 |
PUSHMARK (SP); |
157
|
0 |
0 |
sv_setpvn (ERRSV, "", 0); |
160
|
19 |
0 |
if (saveerr) |
161
|
19 |
0 |
sv_setsv (ERRSV, saveerr); |
169
|
0 |
19 |
POPSTACK; |
184
|
12 |
11 |
for (i = AvFILLp (asyncs); i >= 0; --i) |
189
|
11 |
1 |
if (async->pending && !async->blocked) |
|
11 |
0 |
if (async->pending && !async->blocked) |
197
|
0 |
11 |
if (i > AvFILLp (asyncs)) |
206
|
11 |
0 |
if (signum == 9) |
227
|
8 |
0 |
if (async->pending && !async->blocked) |
|
8 |
0 |
if (async->pending && !async->blocked) |
249
|
1 |
4 |
if (!async->scope_savestack || async->scope_savestack != PL_savestack) |
|
0 |
1 |
if (!async->scope_savestack || async->scope_savestack != PL_savestack) |
276
|
2 |
5 |
SV *cv = SvOK (cb) ? SvREFCNT_inc (s_get_cv_croak (cb)) : 0; |
|
2 |
0 |
SV *cv = SvOK (cb) ? SvREFCNT_inc (s_get_cv_croak (cb)) : 0; |
|
0 |
2 |
SV *cv = SvOK (cb) ? SvREFCNT_inc (s_get_cv_croak (cb)) : 0; |
281
|
0 |
7 |
XPUSHs (sv_2mortal (newSViv (PTR2IV (async)))); |
285
|
0 |
7 |
SvGETMAGIC (fh_r); SvGETMAGIC (fh_w); |
|
0 |
0 |
SvGETMAGIC (fh_r); SvGETMAGIC (fh_w); |
|
0 |
7 |
SvGETMAGIC (fh_r); SvGETMAGIC (fh_w); |
|
0 |
0 |
SvGETMAGIC (fh_r); SvGETMAGIC (fh_w); |
286
|
6 |
1 |
if (SvOK (fh_r) || SvOK (fh_w)) |
|
6 |
0 |
if (SvOK (fh_r) || SvOK (fh_w)) |
|
6 |
0 |
if (SvOK (fh_r) || SvOK (fh_w)) |
|
6 |
0 |
if (SvOK (fh_r) || SvOK (fh_w)) |
|
6 |
0 |
if (SvOK (fh_r) || SvOK (fh_w)) |
|
0 |
6 |
if (SvOK (fh_r) || SvOK (fh_w)) |
301
|
1 |
6 |
: NEWSV (0, 0); |
304
|
0 |
7 |
SvIOK_only (async->value); /* just to be sure */ |
313
|
6 |
1 |
async->signum = SvOK (signl) ? s_signum_croak (signl) : 0; |
|
6 |
0 |
async->signum = SvOK (signl) ? s_signum_croak (signl) : 0; |
|
0 |
6 |
async->signum = SvOK (signl) ? s_signum_croak (signl) : 0; |
315
|
1 |
6 |
if (async->signum) |
317
|
0 |
1 |
if (async->signum < 0) |
318
|
0 |
0 |
croak ("Async::Interrupt::new got passed illegal signal name or number: %s", SvPV_nolen (signl)); |
333
|
0 |
1 |
EXTEND (SP, 2); |
340
|
0 |
0 |
EXTEND (SP, 2); |
387
|
1 |
3 |
if (!async->ep.len) |
396
|
0 |
1 |
if (res < 0) |
408
|
0 |
0 |
if (enable >= 0) |
416
|
0 |
0 |
if (async->ep.len) |
422
|
2 |
0 |
if (async->ep.len) |
430
|
0 |
2 |
if (res < 0) |
442
|
8 |
0 |
for (i = AvFILLp (asyncs); i >= 0; --i) |
443
|
7 |
1 |
if (AvARRAY (asyncs)[i] == async_sv) |
450
|
0 |
0 |
if (!PL_dirty) |
455
|
1 |
6 |
if (async->signum) |
458
|
6 |
1 |
if (!async->fh_r && async->ep.len) |
|
1 |
5 |
if (!async->fh_r && async->ep.len) |
479
|
0 |
0 |
if (signum < 0) |
481
|
0 |
0 |
else if (ix) |
498
|
0 |
1 |
XPUSHs (sv_setref_iv (sv_newmortal (), klass, PTR2IV (epp))); |
500
|
0 |
1 |
if (s_epipe_new (epp) < 0) |
507
|
0 |
0 |
EXTEND (SP, 2); |
540
|
0 |
2 |
EXTEND (SP, 2); |
541
|
1 |
1 |
PUSHs (sv_2mortal (newSViv (PTR2IV (ix ? s_epipe_drain : s_epipe_signal)))); |