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