Branch Coverage

AIO.xs
Criterion Covered Total %
branch 180 914 19.6


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)