| 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)))); |