| line | true | false | branch | 
 
| 281 | 0 | 0 | if (SvPVX (sv) != mg->mg_ptr) | 
 
| 286 | 0 | 0 | SvOK_off (sv); | 
 
| 303 | 0 | 0 | if (SvPVX (sv) != mg->mg_ptr) | 
 
| 308 | 0 | 0 | SvOK_off (sv); | 
 
| 330 | 0 | 0 | SvUPGRADE (sv, SVt_PV); /* nop... */ | 
 
| 332 | 0 | 0 | if (SvLEN (sv)) | 
 
| 372 | 0 | 0 | if (count < 0) | 
 
| 377 | 0 | 0 | if (!fiemap) | 
 
| 387 | 0 | 0 | if (ioctl (req->int1, FS_IOC_FIEMAP, fiemap) < 0) | 
 
| 390 | 0 | 0 | if (req->int3 >= 0 /* not autosizing */ | 
 
| 391 | 0 | 0 | || !fiemap->fm_mapped_extents /* no more extents */ | 
 
| 392 | 0 | 0 | || fiemap->fm_extents [fiemap->fm_mapped_extents - 1].fe_flags & FIEMAP_EXTENT_LAST /* hit eof */) | 
 
| 402 | 0 | 0 | end_offset = fiemap->fm_length + (fiemap->fm_length == FIEMAP_MAX_OFFSET ? 0 : fiemap->fm_start); | 
 
| 416 | 0 | 0 | if (ioctl (req->int1, FS_IOC_FIEMAP, incmap) < 0) | 
 
| 419 | 0 | 0 | if (!incmap->fm_mapped_extents) | 
 
| 425 | 0 | 0 | if (!fiemap) | 
 
| 430 | 0 | 0 | for (count = 0; count < incmap->fm_mapped_extents; ++count) | 
 
| 436 | 0 | 0 | if (e->fe_logical >= end_offset) | 
 
| 439 | 0 | 0 | if (e->fe_flags & FIEMAP_EXTENT_LAST) | 
 
| 502 | 38 | 21 | if (!req->self) | 
 
| 523 | 86 | 0 | if (!SvROK (sv) | 
 
| 525 | 43 | 43 | || (SvSTASH (SvRV (sv)) != aio_grp_stash | 
 
| 526 | 0 | 43 | && SvSTASH (SvRV (sv)) != aio_req_stash | 
 
| 527 | 0 | 0 | && !sv_derived_from (sv, "IO::AIO::REQ"))) | 
 
| 532 | 86 | 0 | return mg ? (aio_req)mg->mg_ptr : 0; | 
 
| 538 | 37 | 0 | if (!SvROK (sv) | 
 
| 539 | 37 | 0 | || SvTYPE (SvRV (sv)) != SVt_PVMG | 
 
| 540 | 0 | 37 | || SvSTASH (SvRV (sv)) != aio_wd_stash) | 
 
| 549 | 1 | 3 | if (fd < 0) | 
 
| 559 | 1 | 2 | symlen = snprintf ( | 
 
| 563 | 0 | 1 | flags == O_RDONLY ? "<" : flags == O_WRONLY ? ">" : "+<", | 
 
| 568 | 3 | 0 | ? (SV *)gv : &PL_sv_undef; | 
 
| 574 | 22 | 0 | if (grp->sv2 && SvOK (grp->sv2)) | 
 
|  | 1 | 21 | if (grp->sv2 && SvOK (grp->sv2)) | 
 
|  | 1 | 0 | if (grp->sv2 && SvOK (grp->sv2)) | 
 
|  | 0 | 1 | if (grp->sv2 && SvOK (grp->sv2)) | 
 
| 580 | 0 | 21 | PUSHMARK (SP); | 
 
| 581 | 0 | 21 | XPUSHs (req_sv (grp, aio_grp_stash)); | 
 
| 585 | 21 | 0 | FREETMPS; | 
 
| 596 | 0 | 82 | if (expect_false (on_next_submit)) | 
 
| 603 | 0 | 0 | PUSHMARK (SP); | 
 
| 612 | 1 | 61 | if (req->flags & FLAG_SV2_RO_OFF) | 
 
| 615 | 59 | 3 | if (!EIO_CANCELLED (req) && req->callback) | 
 
|  | 58 | 1 | if (!EIO_CANCELLED (req) && req->callback) | 
 
| 623 | 0 | 58 | PUSHMARK (SP); | 
 
| 624 | 0 | 58 | EXTEND (SP, 1); | 
 
| 627 | 50 | 8 | if (expect_true (sv_result_cache)) | 
 
| 631 | 0 | 50 | SvIOK_only (sv_result); | 
 
| 642 | 1 | 0 | PUSHs (req->result ? &PL_sv_undef : sv_2mortal (newSVaio_wd (req->wd))); | 
 
| 649 | 4 | 0 | if (req->result >= 0) | 
 
| 658 | 140 | 4 | for (i = 0; i < req->result; ++i) | 
 
| 660 | 105 | 35 | if (req->int1 & EIO_READDIR_DENTS) | 
 
| 664 | 35 | 70 | if (req->int1 & EIO_READDIR_CUSTOM2) | 
 
| 671 | 2 | 33 | if (!sv_type [ent->type]) | 
 
| 701 | 3 | 1 | if (req->int1 & EIO_READDIR_CUSTOM1) | 
 
| 702 | 0 | 3 | XPUSHs (sv_2mortal (newSViv (req->int1 & ~(EIO_READDIR_CUSTOM1 | EIO_READDIR_CUSTOM2)))); | 
 
| 716 | 0 | 0 | if (req->result >= 0) | 
 
| 750 | 2 | 3 | if (req->sv1) | 
 
| 755 | 0 | 2 | EXTEND (SP, AvFILL (av) + 1); | 
 
|  | 2 | 0 | EXTEND (SP, AvFILL (av) + 1); | 
 
|  | 0 | 2 | EXTEND (SP, AvFILL (av) + 1); | 
 
|  | 0 | 2 | EXTEND (SP, AvFILL (av) + 1); | 
 
|  | 0 | 0 | EXTEND (SP, AvFILL (av) + 1); | 
 
| 756 | 0 | 7 | for (i = 0; i <= AvFILL (av); ++i) | 
 
|  | 5 | 2 | for (i = 0; i <= AvFILL (av); ++i) | 
 
| 767 | 0 | 0 | if (req->result > 0) | 
 
| 774 | 6 | 18 | PL_laststype = req->type == EIO_LSTAT ? OP_LSTAT : OP_STAT; | 
 
| 776 | 18 | 6 | if (!(PL_laststatval = req->result)) | 
 
| 784 | 0 | 0 | PUSHs (req->result ? sv_result : sv_2mortal (newSVval64 (req->offs))); | 
 
| 792 | 0 | 1 | SvSETMAGIC (req->sv2); | 
 
| 799 | 0 | 0 | if (req->result >= 0) | 
 
| 802 | 0 | 0 | if (req->flags & EIO_FLAG_PTR2_FREE) | 
 
| 814 | 0 | 0 | SvSETMAGIC (req->sv2); | 
 
| 822 | 0 | 0 | if (req->feed == fiemap) | 
 
| 825 | 0 | 0 | if (!req->result) | 
 
| 829 | 0 | 0 | if (fiemap->fm_extent_count) | 
 
| 834 | 0 | 0 | while (fiemap->fm_mapped_extents) | 
 
| 868 | 1 | 0 | if (req->result > 0) | 
 
| 883 | 58 | 0 | if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) | 
 
|  | 0 | 58 | if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) | 
 
|  | 0 | 58 | if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) | 
 
| 888 | 8 | 50 | FREETMPS; | 
 
| 894 | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 62 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 62 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 62 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 62 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 62 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
|  | 0 | 0 | return !!SvTRUE (ERRSV); | 
 
| 900 | 38 | 24 | if (req->self) | 
 
| 918 | 0 | 0 | if (grp->type != EIO_GROUP) | 
 
| 931 | 0 | 10 | if (s_epipe_renew (&respipe)) | 
 
| 938 | 42 | 0 | while (eio_nreqs ()) | 
 
| 946 | 24 | 18 | if (size) | 
 
| 962 | 0 | 38 | if (res > 0) | 
 
| 965 | 0 | 38 | if (!max_outstanding || max_outstanding > eio_nreqs ()) | 
 
|  | 0 | 0 | if (!max_outstanding || max_outstanding > eio_nreqs ()) | 
 
| 978 | 0 | 10 | if (eio_init (want_poll, done_poll) < 0) | 
 
| 987 | 0 | 92 | SvGETMAGIC (cb_sv); | 
 
|  | 0 | 0 | SvGETMAGIC (cb_sv); | 
 
| 988 | 29 | 63 | return SvOK (cb_sv) ? s_get_cv_croak (cb_sv) : 0; | 
 
|  | 29 | 0 | return SvOK (cb_sv) ? s_get_cv_croak (cb_sv) : 0; | 
 
|  | 0 | 29 | return SvOK (cb_sv) ? s_get_cv_croak (cb_sv) : 0; | 
 
| 1003 | 0 | 82 | if (!req) | 
 
| 1028 | 18 | 21 | if (expect_false (SvROK (path))) | 
 
| 1033 | 18 | 0 | if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1) | 
 
|  | 18 | 0 | if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1) | 
 
| 1038 | 0 | 18 | if (SvOK (wdob)) | 
 
|  | 0 | 0 | if (SvOK (wdob)) | 
 
|  | 0 | 0 | if (SvOK (wdob)) | 
 
| 1046 | 0 | 0 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) | 
 
|  | 0 | 0 | else if (SvTYPE (rv) == SVt_PVMG && SvSTASH (rv) == aio_wd_stash) | 
 
| 1058 | 39 | 0 | *ptr = SvPVbyte_nolen (*pathsv); | 
 
| 1072 | 17 | 9 | SV *rv = SvROK (fh_or_path) ? SvRV (fh_or_path) : fh_or_path; | 
 
| 1074 | 1 | 25 | switch (SvTYPE (rv)) | 
 
| 1112 | 0 | 0 | if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) | 
 
|  | 0 | 0 | if (!SvROK (sv) || SvTYPE (SvRV (sv)) != SVt_PVAV) | 
 
| 1119 | 0 | 0 | for (i = 0; i < nelem; ++i) | 
 
| 1123 | 0 | 0 | if (e && *e) | 
 
|  | 0 | 0 | if (e && *e) | 
 
| 1124 | 0 | 0 | vecp[i] = SvPVbyte_nolen (*e); | 
 
| 1547 | 2970 | 9 | for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ > const_iv; civ--) | 
 
| 1556 | 9 | 0 | if ( | 
 
| 1561 | 9 | 0 | || fcntl (pipefd [0], F_SETFD, FD_CLOEXEC) < 0 | 
 
| 1563 | 0 | 9 | || close (pipefd [1]) < 0 | 
 
| 1628 | 1 | 0 | REQ_SEND; | 
 
|  | 1 | 0 | REQ_SEND; | 
 
|  | 0 | 1 | REQ_SEND; | 
 
| 1642 | 4 | 0 | REQ_SEND; | 
 
|  | 0 | 4 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1660 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1677 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1694 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1733 | 1 | 0 | REQ_SEND; | 
 
|  | 0 | 1 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1746 | 0 | 0 | req->offs = SvVAL64 (offset); | 
 
| 1749 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1761 | 1 | 0 | char *svptr = SvPVbyte (data, svlen); | 
 
| 1762 | 0 | 1 | UV len = SvUV (length); | 
 
| 1764 | 0 | 1 | if (dataoffset < 0) | 
 
| 1767 | 1 | 0 | if (dataoffset < 0 || dataoffset > svlen) | 
 
|  | 0 | 1 | if (dataoffset < 0 || dataoffset > svlen) | 
 
| 1770 | 0 | 1 | if (ix == EIO_WRITE) | 
 
| 1773 | 0 | 0 | if (!SvOK (length) || len + dataoffset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + dataoffset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + dataoffset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + dataoffset > svlen) | 
 
| 1779 | 1 | 0 | if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) | 
 
|  | 1 | 0 | if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) | 
 
| 1781 | 0 | 0 | else if (SvCUR (data) < len + dataoffset) | 
 
| 1791 | 0 | 1 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 1 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
| 1797 | 1 | 0 | if (!SvREADONLY (data)) | 
 
| 1803 | 1 | 0 | REQ_SEND; | 
 
|  | 0 | 1 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1817 | 0 | 0 | if (SvPOK (arg) || !SvNIOK (arg)) | 
 
|  | 0 | 0 | if (SvPOK (arg) || !SvNIOK (arg)) | 
 
| 1827 | 0 | 0 | if (svlen < need) | 
 
| 1828 | 0 | 0 | svptr = SvGROW (arg, need); | 
 
|  | 0 | 0 | svptr = SvGROW (arg, need); | 
 
| 1831 | 0 | 0 | svptr = (char *)SvIV (arg); | 
 
| 1843 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1859 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1878 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1894 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1907 | 0 | 26 | req_set_fh_or_path (req, ix, ix == EIO_STATVFS ? EIO_FSTATVFS : EIO_FSTAT, fh_or_path); | 
 
| 1909 | 26 | 0 | REQ_SEND; | 
 
|  | 20 | 6 | REQ_SEND; | 
 
|  | 0 | 20 | REQ_SEND; | 
 
| 1921 | 0 | 0 | EXTEND (SP, 4); | 
 
| 1922 | 0 | 0 | if (ix & 0x01) PUSHs (newSVnv (PL_statcache.st_atime + 1e-9 * ATIMENSEC)); | 
 
| 1923 | 0 | 0 | if (ix & 0x02) PUSHs (newSVnv (PL_statcache.st_mtime + 1e-9 * MTIMENSEC)); | 
 
| 1924 | 0 | 0 | if (ix & 0x04) PUSHs (newSVnv (PL_statcache.st_ctime + 1e-9 * CTIMENSEC)); | 
 
| 1925 | 0 | 0 | if (ix & 0x08) PUSHs (newSVnv (BTIMESEC              + 1e-9 * BTIMENSEC)); | 
 
| 1938 | 0 | 0 | EXTEND (SP, 4); | 
 
| 1939 | 0 | 0 | if (ix & 0x01) PUSHs (newSViv (ATIMENSEC)); | 
 
| 1940 | 0 | 0 | if (ix & 0x02) PUSHs (newSViv (MTIMENSEC)); | 
 
| 1941 | 0 | 0 | if (ix & 0x04) PUSHs (newSViv (CTIMENSEC)); | 
 
| 1942 | 0 | 0 | if (ix & 0x08) PUSHs (newSViv (BTIMENSEC)); | 
 
| 1943 | 0 | 0 | if (ix & 0x10) PUSHs (newSVuv (BTIMESEC)); | 
 
| 1944 | 0 | 0 | if (ix & 0x20) PUSHs (newSVuv (ST_GEN)); | 
 
| 1951 | 0 | 0 | RETVAL = ix ? minor (dev) : major (dev); | 
 
| 1968 | 0 | 0 | req->nv1 = SvOK (atime) ? SvNV (atime) : -1.; | 
 
|  | 0 | 0 | req->nv1 = SvOK (atime) ? SvNV (atime) : -1.; | 
 
|  | 0 | 0 | req->nv1 = SvOK (atime) ? SvNV (atime) : -1.; | 
 
|  | 0 | 0 | req->nv1 = SvOK (atime) ? SvNV (atime) : -1.; | 
 
| 1969 | 0 | 0 | req->nv2 = SvOK (mtime) ? SvNV (mtime) : -1.; | 
 
|  | 0 | 0 | req->nv2 = SvOK (mtime) ? SvNV (mtime) : -1.; | 
 
|  | 0 | 0 | req->nv2 = SvOK (mtime) ? SvNV (mtime) : -1.; | 
 
|  | 0 | 0 | req->nv2 = SvOK (mtime) ? SvNV (mtime) : -1.; | 
 
| 1972 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1981 | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
|  | 0 | 0 | req->offs = SvOK (offset) ? SvVAL64 (offset) : -1; | 
 
| 1984 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 1996 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2005 | 0 | 0 | req->int2 = SvOK (uid) ? SvIV (uid) : -1; | 
 
|  | 0 | 0 | req->int2 = SvOK (uid) ? SvIV (uid) : -1; | 
 
|  | 0 | 0 | req->int2 = SvOK (uid) ? SvIV (uid) : -1; | 
 
|  | 0 | 0 | req->int2 = SvOK (uid) ? SvIV (uid) : -1; | 
 
| 2006 | 0 | 0 | req->int3 = SvOK (gid) ? SvIV (gid) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (gid) ? SvIV (gid) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (gid) ? SvIV (gid) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (gid) ? SvIV (gid) : -1; | 
 
| 2009 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2021 | 1 | 2 | if (flags & EIO_READDIR_DENTS) | 
 
| 2026 | 3 | 0 | REQ_SEND; | 
 
|  | 1 | 2 | REQ_SEND; | 
 
|  | 0 | 1 | REQ_SEND; | 
 
| 2039 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2055 | 4 | 0 | REQ_SEND; | 
 
|  | 0 | 4 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2074 | 1 | 0 | REQ_SEND; | 
 
|  | 0 | 1 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2090 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2104 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2115 | 0 | 0 | char *svptr = SvPVbyte (data, svlen); | 
 
| 2116 | 0 | 0 | UV len = SvUV (length); | 
 
| 2118 | 0 | 0 | if (flags < 0) | 
 
| 2119 | 0 | 0 | flags = ix == EIO_MSYNC ? EIO_MS_SYNC : 0; | 
 
| 2121 | 0 | 0 | if (offset < 0) | 
 
| 2124 | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
|  | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
| 2127 | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
| 2139 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2148 | 0 | 0 | char *svptr = SvPVbyte (data, svlen); | 
 
| 2149 | 0 | 0 | UV len = SvUV (length); | 
 
| 2151 | 0 | 0 | if (offset < 0) | 
 
| 2154 | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
|  | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
| 2157 | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
| 2168 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2181 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2199 | 0 | 0 | req->size = SvOK (length) ? SvVAL64 (length) : ~0ULL; | 
 
|  | 0 | 0 | req->size = SvOK (length) ? SvVAL64 (length) : ~0ULL; | 
 
|  | 0 | 0 | req->size = SvOK (length) ? SvVAL64 (length) : ~0ULL; | 
 
|  | 0 | 0 | req->size = SvOK (length) ? SvVAL64 (length) : ~0ULL; | 
 
| 2201 | 0 | 0 | req->int3 = SvOK (count) ? SvIV (count) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (count) ? SvIV (count) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (count) ? SvIV (count) : -1; | 
 
|  | 0 | 0 | req->int3 = SvOK (count) ? SvIV (count) : -1; | 
 
| 2204 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2215 | 0 | 0 | if (length) /* known length, directly read into scalar */ | 
 
| 2217 | 0 | 0 | if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) | 
 
|  | 0 | 0 | if (!SvPOK (data) || SvLEN (data) >= SvCUR (data)) | 
 
| 2219 | 0 | 0 | else if (SvCUR (data) < length) | 
 
| 2222 | 0 | 0 | svptr = SvPVbyte_nolen (data); | 
 
| 2235 | 0 | 0 | if (!SvREADONLY (data)) | 
 
| 2241 | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2252 | 0 | 13 | req->nv1  = delay < 0. ? 0. : delay; | 
 
| 2254 | 13 | 0 | REQ_SEND; | 
 
|  | 10 | 3 | REQ_SEND; | 
 
|  | 0 | 10 | REQ_SEND; | 
 
| 2269 | 0 | 6 | XPUSHs (req_sv (req, aio_grp_stash)); | 
 
| 2283 | 3 | 0 | REQ_SEND; | 
 
|  | 0 | 3 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 2290 | 29 | 1 | if (items > 0) | 
 
| 2292 | 0 | 29 | if (pri < EIO_PRI_MIN) pri = EIO_PRI_MIN; | 
 
| 2293 | 6 | 23 | if (pri > EIO_PRI_MAX) pri = EIO_PRI_MAX; | 
 
| 2303 | 0 | 0 | if (nice < EIO_PRI_MIN) nice = EIO_PRI_MIN; | 
 
| 2304 | 0 | 0 | if (nice > EIO_PRI_MAX) nice = EIO_PRI_MAX; | 
 
| 2310 | 0 | 9 | while (eio_nreqs ()) | 
 
| 2391 | 0 | 0 | int fd = SvOK (fh) ? s_fileno_croak (fh, flags & PROT_WRITE) : -1; | 
 
|  | 0 | 0 | int fd = SvOK (fh) ? s_fileno_croak (fh, flags & PROT_WRITE) : -1; | 
 
|  | 0 | 0 | int fd = SvOK (fh) ? s_fileno_croak (fh, flags & PROT_WRITE) : -1; | 
 
| 2393 | 0 | 0 | if (addr == (void *)-1) | 
 
| 2398 | 0 | 0 | if (!(prot & PROT_WRITE)) | 
 
| 2416 | 0 | 0 | if (!mg || SvPVX (scalar) != mg->mg_ptr) | 
 
|  | 0 | 0 | if (!mg || SvPVX (scalar) != mg->mg_ptr) | 
 
| 2423 | 0 | 0 | if (new != (void *)-1) | 
 
| 2427 | 0 | 0 | : &PL_sv_yes; | 
 
| 2446 | 0 | 0 | void *addr = SvPVbyte (scalar, svlen); | 
 
| 2447 | 0 | 0 | STRLEN len = SvUV (length); | 
 
| 2449 | 0 | 0 | if (offset < 0) | 
 
| 2452 | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
|  | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
| 2455 | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
| 2475 | 0 | 0 | void *addr = SvPVbyte (scalar, svlen); | 
 
| 2476 | 0 | 0 | size_t len = SvUV (length); | 
 
| 2478 | 0 | 0 | if (offset < 0) | 
 
| 2481 | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
|  | 0 | 0 | if (offset < 0 || offset > svlen) | 
 
| 2484 | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
|  | 0 | 0 | if (!SvOK (length) || len + offset > svlen) | 
 
| 2668 | 0 | 0 | socklen_t salen_ = salen ? salen + 1 : 0; | 
 
| 2670 | 0 | 0 | if (salen) | 
 
| 2676 | 0 | 0 | int res = accept4 (rfh, salen ? (struct sockaddr *)SvPVX (sockaddr) : 0, salen ? &salen_ : 0, flags); | 
 
|  | 0 | 0 | int res = accept4 (rfh, salen ? (struct sockaddr *)SvPVX (sockaddr) : 0, salen ? &salen_ : 0, flags); | 
 
| 2680 | 0 | 0 | if (res >= 0 && salen > 0) | 
 
|  | 0 | 0 | if (res >= 0 && salen > 0) | 
 
| 2682 | 0 | 0 | if (salen_ > salen + 1) | 
 
| 2692 | 0 | 0 | XPUSHs (retval); | 
 
| 2701 | 0 | 0 | RETVAL = splice ( | 
 
|  | 0 | 0 | RETVAL = splice ( | 
 
| 2702 | 0 | 0 | rfh, SvOK (off_in ) ? (off_in_  = SvVAL64 (off_in )), &off_in_  : 0, | 
 
|  | 0 | 0 | rfh, SvOK (off_in ) ? (off_in_  = SvVAL64 (off_in )), &off_in_  : 0, | 
 
|  | 0 | 0 | rfh, SvOK (off_in ) ? (off_in_  = SvVAL64 (off_in )), &off_in_  : 0, | 
 
| 2703 | 0 | 0 | wfh, SvOK (off_out) ? (off_out_ = SvVAL64 (off_out)), &off_out_ : 0, | 
 
|  | 0 | 0 | wfh, SvOK (off_out) ? (off_out_ = SvVAL64 (off_out)), &off_out_ : 0, | 
 
|  | 0 | 0 | wfh, SvOK (off_out) ? (off_out_ = SvVAL64 (off_out)), &off_out_ : 0, | 
 
| 2729 | 0 | 0 | if (new_size >= 0) | 
 
| 2748 | 0 | 0 | if (flags) | 
 
| 2757 | 0 | 0 | if (!res) | 
 
| 2759 | 0 | 0 | EXTEND (SP, 2); | 
 
| 2771 | 0 | 0 | XPUSHs (newmortalFH (fd, O_RDWR)); | 
 
| 2782 | 0 | 0 | if (SvOK (siginfo)) | 
 
|  | 0 | 0 | if (SvOK (siginfo)) | 
 
|  | 0 | 0 | if (SvOK (siginfo)) | 
 
| 2787 | 0 | 0 | if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV) | 
 
|  | 0 | 0 | if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV) | 
 
| 2792 | 0 | 0 | if ((svp = hv_fetchs (hv, "code"     , 0))) si.si_code            =         SvIV (*svp); | 
 
|  | 0 | 0 | if ((svp = hv_fetchs (hv, "code"     , 0))) si.si_code            =         SvIV (*svp); | 
 
| 2793 | 0 | 0 | if ((svp = hv_fetchs (hv, "pid"      , 0))) si.si_pid             =         SvIV (*svp); | 
 
|  | 0 | 0 | if ((svp = hv_fetchs (hv, "pid"      , 0))) si.si_pid             =         SvIV (*svp); | 
 
| 2794 | 0 | 0 | if ((svp = hv_fetchs (hv, "uid"      , 0))) si.si_uid             =         SvIV (*svp); | 
 
|  | 0 | 0 | if ((svp = hv_fetchs (hv, "uid"      , 0))) si.si_uid             =         SvIV (*svp); | 
 
| 2795 | 0 | 0 | if ((svp = hv_fetchs (hv, "value_int", 0))) si.si_value.sival_int =         SvIV (*svp); | 
 
|  | 0 | 0 | if ((svp = hv_fetchs (hv, "value_int", 0))) si.si_value.sival_int =         SvIV (*svp); | 
 
| 2796 | 0 | 0 | if ((svp = hv_fetchs (hv, "value_ptr", 0))) si.si_value.sival_ptr = (void *)SvIV (*svp); | 
 
|  | 0 | 0 | if ((svp = hv_fetchs (hv, "value_ptr", 0))) si.si_value.sival_ptr = (void *)SvIV (*svp); | 
 
| 2800 | 0 | 0 | res = syscall (SYS_pidfd_send_signal, s_fileno_croak (pidfh, 0), sig, SvOK (siginfo) ? &si : 0, flags); | 
 
|  | 0 | 0 | res = syscall (SYS_pidfd_send_signal, s_fileno_croak (pidfh, 0), sig, SvOK (siginfo) ? &si : 0, flags); | 
 
|  | 0 | 0 | res = syscall (SYS_pidfd_send_signal, s_fileno_croak (pidfh, 0), sig, SvOK (siginfo) ? &si : 0, flags); | 
 
| 2805 | 0 | 0 | XPUSHs (sv_2mortal (newSViv (res))); | 
 
| 2814 | 0 | 0 | XPUSHs (newmortalFH (fd, O_RDWR)); | 
 
| 2828 | 0 | 0 | XPUSHs (newmortalFH (fd, O_RDWR)); | 
 
| 2842 | 0 | 0 | XPUSHs (newmortalFH (fd, O_RDWR)); | 
 
| 2858 | 0 | 0 | if (!res) | 
 
| 2860 | 0 | 0 | EXTEND (SP, 2); | 
 
| 2879 | 0 | 0 | if (!res) | 
 
| 2881 | 0 | 0 | EXTEND (SP, 2); | 
 
| 2901 | 0 | 0 | XPUSHs (newmortalFH (fd, O_RDWR)); | 
 
| 2911 | 0 | 0 | if (!SvOK (envs)) | 
 
|  | 0 | 0 | if (!SvOK (envs)) | 
 
|  | 0 | 0 | if (!SvOK (envs)) | 
 
| 2939 | 0 | 0 | if (flags) | 
 
| 2958 | 0 | 0 | if (0 == getrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 2974 | 0 | 0 | if (0 != getrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 2977 | 0 | 0 | if (rl.rlim_cur == RLIM_INFINITY) | 
 
| 2982 | 0 | 0 | if (rl.rlim_cur < limit) | 
 
| 2986 | 0 | 0 | if (rl.rlim_max < rl.rlim_cur && rl.rlim_max != RLIM_INFINITY) | 
 
|  | 0 | 0 | if (rl.rlim_max < rl.rlim_cur && rl.rlim_max != RLIM_INFINITY) | 
 
| 2990 | 0 | 0 | if (0 == setrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 2993 | 0 | 0 | if (errno == EPERM) | 
 
| 2999 | 0 | 0 | for (bit = 0x40000000U; bit; bit >>= 1) | 
 
| 3005 | 0 | 0 | if (rl.rlim_max < orig_rlim_max) | 
 
| 3008 | 0 | 0 | if (0 != setrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 3013 | 0 | 0 | if (0 == getrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 3016 | 0 | 0 | if (0 == setrlimit (RLIMIT_NOFILE, &rl)) | 
 
| 3028 | 0 | 0 | on_next_submit = SvOK (cb) ? newSVsv (cb) : 0; | 
 
|  | 0 | 0 | on_next_submit = SvOK (cb) ? newSVsv (cb) : 0; | 
 
|  | 0 | 0 | on_next_submit = SvOK (cb) ? newSVsv (cb) : 0; | 
 
| 3053 | 19 | 0 | REQ_SEND; | 
 
|  | 0 | 19 | REQ_SEND; | 
 
|  | 0 | 0 | REQ_SEND; | 
 
| 3071 | 0 | 10 | if (GIMME_V != G_VOID) | 
 
|  | 0 | 10 | if (GIMME_V != G_VOID) | 
 
| 3072 | 0 | 0 | XPUSHs (req->callback ? sv_2mortal (newRV_inc (req->callback)) : &PL_sv_undef); | 
 
|  | 0 | 0 | XPUSHs (req->callback ? sv_2mortal (newRV_inc (req->callback)) : &PL_sv_undef); | 
 
| 3074 | 10 | 0 | if (items > 1) | 
 
| 3091 | 0 | 32 | if (grp->int1 == 2) | 
 
| 3094 | 33 | 32 | for (i = 1; i < items; ++i ) | 
 
| 3098 | 15 | 18 | if (GIMME_V != G_VOID) | 
 
|  | 13 | 20 | if (GIMME_V != G_VOID) | 
 
| 3099 | 0 | 13 | XPUSHs (sv_2mortal (newSVsv (ST (i)))); | 
 
| 3103 | 33 | 0 | if (req) | 
 
| 3125 | 8 | 4 | for (i = 1; i < items; ++i ) | 
 
| 3150 | 0 | 3 | if (grp->int2 <= 0) |