| 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
|
21 |
11 |
if (!req->self)
|
|
523
|
49 |
0 |
if (!SvROK (sv)
|
|
525
|
27 |
22 |
|| (SvSTASH (SvRV (sv)) != aio_grp_stash
|
|
526
|
0 |
27 |
&& SvSTASH (SvRV (sv)) != aio_req_stash
|
|
527
|
0 |
0 |
&& !sv_derived_from (sv, "IO::AIO::REQ")))
|
|
532
|
49 |
0 |
return mg ? (aio_req)mg->mg_ptr : 0;
|
|
538
|
21 |
0 |
if (!SvROK (sv)
|
|
539
|
21 |
0 |
|| SvTYPE (SvRV (sv)) != SVt_PVMG
|
|
540
|
0 |
21 |
|| 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
|
11 |
0 |
if (grp->sv2 && SvOK (grp->sv2))
|
|
|
11 |
0 |
if (grp->sv2 && SvOK (grp->sv2))
|
|
580
|
0 |
11 |
PUSHMARK (SP);
|
|
581
|
0 |
11 |
XPUSHs (req_sv (grp, aio_grp_stash));
|
|
585
|
11 |
0 |
FREETMPS;
|
|
596
|
0 |
65 |
if (expect_false (on_next_submit))
|
|
603
|
0 |
0 |
PUSHMARK (SP);
|
|
612
|
1 |
44 |
if (req->flags & FLAG_SV2_RO_OFF)
|
|
615
|
42 |
3 |
if (!EIO_CANCELLED (req) && req->callback)
|
|
|
41 |
1 |
if (!EIO_CANCELLED (req) && req->callback)
|
|
623
|
0 |
41 |
PUSHMARK (SP);
|
|
624
|
0 |
41 |
EXTEND (SP, 1);
|
|
627
|
33 |
8 |
if (expect_true (sv_result_cache))
|
|
631
|
0 |
33 |
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
|
136 |
4 |
for (i = 0; i < req->result; ++i)
|
|
660
|
102 |
34 |
if (req->int1 & EIO_READDIR_DENTS)
|
|
664
|
68 |
34 |
if (req->int1 & EIO_READDIR_CUSTOM2)
|
|
671
|
2 |
66 |
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 |
2 |
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
|
1 |
7 |
PL_laststype = req->type == EIO_LSTAT ? OP_LSTAT : OP_STAT;
|
|
776
|
7 |
1 |
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
|
41 |
0 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache))
|
|
|
0 |
41 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache))
|
|
|
0 |
41 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache))
|
|
888
|
8 |
33 |
FREETMPS;
|
|
894
|
45 |
0 |
return !!SvTRUE (ERRSV);
|
|
900
|
21 |
24 |
if (req->self)
|
|
918
|
0 |
0 |
if (grp->type != EIO_GROUP)
|
|
931
|
0 |
10 |
if (s_epipe_renew (&respipe))
|
|
938
|
36 |
0 |
while (eio_nreqs ())
|
|
946
|
21 |
15 |
if (size)
|
|
962
|
0 |
35 |
if (res > 0)
|
|
965
|
0 |
35 |
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)
|
|
988
|
46 |
29 |
return SvOK (cb_sv) ? s_get_cv_croak (cb_sv) : 0;
|
|
1003
|
0 |
65 |
if (!req)
|
|
1028
|
2 |
21 |
if (expect_false (SvROK (path)))
|
|
1033
|
2 |
0 |
if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1)
|
|
|
2 |
0 |
if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1)
|
|
1038
|
2 |
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)
|
|
1072
|
1 |
9 |
SV *rv = SvROK (fh_or_path) ? SvRV (fh_or_path) : fh_or_path;
|
|
1074
|
1 |
9 |
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)
|
|
1549
|
2970 |
9 |
for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ > const_iv; civ--)
|
|
1558
|
9 |
0 |
if (
|
|
1563
|
9 |
0 |
|| fcntl (pipefd [0], F_SETFD, FD_CLOEXEC) < 0
|
|
1565
|
0 |
9 |
|| close (pipefd [1]) < 0
|
|
1630
|
1 |
0 |
REQ_SEND;
|
|
|
0 |
1 |
REQ_SEND;
|
|
1644
|
0 |
4 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1662
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1679
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1696
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1735
|
0 |
1 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1751
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1766
|
0 |
1 |
if (dataoffset < 0)
|
|
1769
|
1 |
0 |
if (dataoffset < 0 || dataoffset > svlen)
|
|
|
0 |
1 |
if (dataoffset < 0 || dataoffset > svlen)
|
|
1772
|
0 |
1 |
if (ix == EIO_WRITE)
|
|
1775
|
0 |
0 |
if (!SvOK (length) || len + dataoffset > svlen)
|
|
|
0 |
0 |
if (!SvOK (length) || len + dataoffset > svlen)
|
|
1781
|
1 |
0 |
if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
|
|
|
1 |
0 |
if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
|
|
1783
|
0 |
0 |
else if (SvCUR (data) < len + dataoffset)
|
|
1793
|
1 |
0 |
req->offs = SvOK (offset) ? SvVAL64 (offset) : -1;
|
|
1799
|
1 |
0 |
if (!SvREADONLY (data))
|
|
1805
|
0 |
1 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1819
|
0 |
0 |
if (SvPOK (arg) || !SvNIOK (arg))
|
|
|
0 |
0 |
if (SvPOK (arg) || !SvNIOK (arg))
|
|
1824
|
0 |
0 |
STRLEN need = IOCPARM_LEN (request);
|
|
1829
|
0 |
0 |
if (svlen < need)
|
|
1830
|
0 |
0 |
svptr = SvGROW (arg, need);
|
|
|
0 |
0 |
svptr = SvGROW (arg, need);
|
|
1845
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1861
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1880
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1896
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1909
|
0 |
10 |
req_set_fh_or_path (req, ix, ix == EIO_STATVFS ? EIO_FSTATVFS : EIO_FSTAT, fh_or_path);
|
|
1911
|
4 |
6 |
REQ_SEND;
|
|
|
0 |
4 |
REQ_SEND;
|
|
1923
|
0 |
0 |
EXTEND (SP, 4);
|
|
1924
|
0 |
0 |
if (ix & 0x01) PUSHs (newSVnv (PL_statcache.st_atime + 1e-9 * ATIMENSEC));
|
|
1925
|
0 |
0 |
if (ix & 0x02) PUSHs (newSVnv (PL_statcache.st_mtime + 1e-9 * MTIMENSEC));
|
|
1926
|
0 |
0 |
if (ix & 0x04) PUSHs (newSVnv (PL_statcache.st_ctime + 1e-9 * CTIMENSEC));
|
|
1927
|
0 |
0 |
if (ix & 0x08) PUSHs (newSVnv (BTIMESEC + 1e-9 * BTIMENSEC));
|
|
1940
|
0 |
0 |
EXTEND (SP, 4);
|
|
1941
|
0 |
0 |
if (ix & 0x01) PUSHs (newSViv (ATIMENSEC));
|
|
1942
|
0 |
0 |
if (ix & 0x02) PUSHs (newSViv (MTIMENSEC));
|
|
1943
|
0 |
0 |
if (ix & 0x04) PUSHs (newSViv (CTIMENSEC));
|
|
1944
|
0 |
0 |
if (ix & 0x08) PUSHs (newSViv (BTIMENSEC));
|
|
1945
|
0 |
0 |
if (ix & 0x10) PUSHs (newSVuv (BTIMESEC));
|
|
1946
|
0 |
0 |
if (ix & 0x20) PUSHs (newSVuv (ST_GEN));
|
|
1953
|
0 |
0 |
RETVAL = ix ? minor (dev) : major (dev);
|
|
|
0 |
0 |
RETVAL = ix ? minor (dev) : major (dev);
|
|
1960
|
0 |
0 |
RETVAL = makedev (maj, min);
|
|
1970
|
0 |
0 |
req->nv1 = SvOK (atime) ? SvNV (atime) : -1.;
|
|
1971
|
0 |
0 |
req->nv2 = SvOK (mtime) ? SvNV (mtime) : -1.;
|
|
1974
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1983
|
0 |
0 |
req->offs = SvOK (offset) ? SvVAL64 (offset) : -1;
|
|
1986
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
1998
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2007
|
0 |
0 |
req->int2 = SvOK (uid) ? SvIV (uid) : -1;
|
|
2008
|
0 |
0 |
req->int3 = SvOK (gid) ? SvIV (gid) : -1;
|
|
2011
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2023
|
2 |
1 |
if (flags & EIO_READDIR_DENTS)
|
|
2028
|
1 |
2 |
REQ_SEND;
|
|
|
0 |
1 |
REQ_SEND;
|
|
2041
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2057
|
0 |
4 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2076
|
0 |
1 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2092
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2106
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2120
|
0 |
0 |
if (flags < 0)
|
|
2121
|
0 |
0 |
flags = ix == EIO_MSYNC ? EIO_MS_SYNC : 0;
|
|
2123
|
0 |
0 |
if (offset < 0)
|
|
2126
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
2129
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
2141
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2153
|
0 |
0 |
if (offset < 0)
|
|
2156
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
2159
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
2170
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2183
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2201
|
0 |
0 |
req->size = SvOK (length) ? SvVAL64 (length) : ~0ULL;
|
|
2203
|
0 |
0 |
req->int3 = SvOK (count) ? SvIV (count) : -1;
|
|
2206
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2217
|
0 |
0 |
if (length) /* known length, directly read into scalar */
|
|
2219
|
0 |
0 |
if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
|
|
|
0 |
0 |
if (!SvPOK (data) || SvLEN (data) >= SvCUR (data))
|
|
2221
|
0 |
0 |
else if (SvCUR (data) < length)
|
|
2237
|
0 |
0 |
if (!SvREADONLY (data))
|
|
2243
|
0 |
0 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2254
|
0 |
13 |
req->nv1 = delay < 0. ? 0. : delay;
|
|
2256
|
10 |
3 |
REQ_SEND;
|
|
|
0 |
10 |
REQ_SEND;
|
|
2271
|
0 |
5 |
XPUSHs (req_sv (req, aio_grp_stash));
|
|
2285
|
0 |
3 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
2292
|
13 |
1 |
if (items > 0)
|
|
2294
|
0 |
13 |
if (pri < EIO_PRI_MIN) pri = EIO_PRI_MIN;
|
|
2295
|
6 |
7 |
if (pri > EIO_PRI_MAX) pri = EIO_PRI_MAX;
|
|
2305
|
0 |
0 |
if (nice < EIO_PRI_MIN) nice = EIO_PRI_MIN;
|
|
2306
|
0 |
0 |
if (nice > EIO_PRI_MAX) nice = EIO_PRI_MAX;
|
|
2312
|
0 |
9 |
while (eio_nreqs ())
|
|
2329
|
11 |
3 |
RETVAL = s_epipe_fd (&respipe);
|
|
2349
|
46 |
14 |
RETVAL = eio_nreqs ();
|
|
2356
|
0 |
0 |
RETVAL = eio_nready ();
|
|
2363
|
0 |
0 |
RETVAL = eio_npending ();
|
|
2370
|
0 |
0 |
RETVAL = eio_nthreads ();
|
|
2393
|
0 |
0 |
int fd = SvOK (fh) ? s_fileno_croak (fh, flags & PROT_WRITE) : -1;
|
|
2395
|
0 |
0 |
if (addr == (void *)-1)
|
|
2400
|
0 |
0 |
if (!(prot & PROT_WRITE))
|
|
2418
|
0 |
0 |
if (!mg || SvPVX (scalar) != mg->mg_ptr)
|
|
|
0 |
0 |
if (!mg || SvPVX (scalar) != mg->mg_ptr)
|
|
2425
|
0 |
0 |
if (new != (void *)-1)
|
|
2429
|
0 |
0 |
: &PL_sv_yes;
|
|
2451
|
0 |
0 |
if (offset < 0)
|
|
2454
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
2457
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
2480
|
0 |
0 |
if (offset < 0)
|
|
2483
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
|
0 |
0 |
if (offset < 0 || offset > svlen)
|
|
2486
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen)
|
|
2531
|
0 |
0 |
RETVAL = eio__statx (!wd || wd->fd == EIO_CWD ? AT_FDCWD : wd->fd, ptr, flags, mask & STATX_ALL, &stx);
|
|
|
0 |
0 |
RETVAL = eio__statx (!wd || wd->fd == EIO_CWD ? AT_FDCWD : wd->fd, ptr, flags, mask & STATX_ALL, &stx);
|
|
2544
|
0 |
0 |
RETVAL = stx.stx_mode;
|
|
2585
|
0 |
0 |
RETVAL = *(__u32 *)((char *)&stx + ix);
|
|
2621
|
0 |
0 |
RETVAL = ts->tv_sec + ts->tv_nsec * 1e-9;
|
|
2657
|
0 |
0 |
RETVAL = ts->tv_nsec;
|
|
2670
|
0 |
0 |
socklen_t salen_ = salen ? salen + 1 : 0;
|
|
2672
|
0 |
0 |
if (salen)
|
|
2678
|
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);
|
|
2682
|
0 |
0 |
if (res >= 0 && salen > 0)
|
|
|
0 |
0 |
if (res >= 0 && salen > 0)
|
|
2684
|
0 |
0 |
if (salen_ > salen + 1)
|
|
2694
|
0 |
0 |
XPUSHs (retval);
|
|
2704
|
0 |
0 |
rfh, SvOK (off_in ) ? (off_in_ = SvVAL64 (off_in )), &off_in_ : 0,
|
|
2705
|
0 |
0 |
wfh, SvOK (off_out) ? (off_out_ = SvVAL64 (off_out)), &off_out_ : 0,
|
|
2731
|
0 |
0 |
if (new_size >= 0)
|
|
2750
|
0 |
0 |
if (flags)
|
|
2759
|
0 |
0 |
if (!res)
|
|
2761
|
0 |
0 |
EXTEND (SP, 2);
|
|
2773
|
0 |
0 |
XPUSHs (newmortalFH (fd, O_RDWR));
|
|
2784
|
0 |
0 |
if (SvOK (siginfo))
|
|
2789
|
0 |
0 |
if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV)
|
|
|
0 |
0 |
if (!SvROK (siginfo) || SvTYPE (SvRV (siginfo)) != SVt_PVHV)
|
|
2794
|
0 |
0 |
if ((svp = hv_fetchs (hv, "code" , 0))) si.si_code = SvIV (*svp);
|
|
2795
|
0 |
0 |
if ((svp = hv_fetchs (hv, "pid" , 0))) si.si_pid = SvIV (*svp);
|
|
2796
|
0 |
0 |
if ((svp = hv_fetchs (hv, "uid" , 0))) si.si_uid = SvIV (*svp);
|
|
2797
|
0 |
0 |
if ((svp = hv_fetchs (hv, "value_int", 0))) si.si_value.sival_int = SvIV (*svp);
|
|
2798
|
0 |
0 |
if ((svp = hv_fetchs (hv, "value_ptr", 0))) si.si_value.sival_ptr = (void *)SvIV (*svp);
|
|
2802
|
0 |
0 |
res = syscall (SYS_pidfd_send_signal, s_fileno_croak (pidfh, 0), sig, SvOK (siginfo) ? &si : 0, flags);
|
|
2807
|
0 |
0 |
XPUSHs (sv_2mortal (newSViv (res)));
|
|
2816
|
0 |
0 |
XPUSHs (newmortalFH (fd, O_RDWR));
|
|
2830
|
0 |
0 |
XPUSHs (newmortalFH (fd, O_RDWR));
|
|
2844
|
0 |
0 |
XPUSHs (newmortalFH (fd, O_RDWR));
|
|
2860
|
0 |
0 |
if (!res)
|
|
2862
|
0 |
0 |
EXTEND (SP, 2);
|
|
2881
|
0 |
0 |
if (!res)
|
|
2883
|
0 |
0 |
EXTEND (SP, 2);
|
|
2903
|
0 |
0 |
XPUSHs (newmortalFH (fd, O_RDWR));
|
|
2913
|
0 |
0 |
if (!SvOK (envs))
|
|
2941
|
0 |
0 |
if (flags)
|
|
2960
|
0 |
0 |
if (0 == getrlimit (RLIMIT_NOFILE, &rl))
|
|
2976
|
0 |
0 |
if (0 != getrlimit (RLIMIT_NOFILE, &rl))
|
|
2979
|
0 |
0 |
if (rl.rlim_cur == RLIM_INFINITY)
|
|
2984
|
0 |
0 |
if (rl.rlim_cur < limit)
|
|
2988
|
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)
|
|
2992
|
0 |
0 |
if (0 == setrlimit (RLIMIT_NOFILE, &rl))
|
|
2995
|
0 |
0 |
if (errno == EPERM)
|
|
3001
|
0 |
0 |
for (bit = 0x40000000U; bit; bit >>= 1)
|
|
3007
|
0 |
0 |
if (rl.rlim_max < orig_rlim_max)
|
|
3010
|
0 |
0 |
if (0 != setrlimit (RLIMIT_NOFILE, &rl))
|
|
3015
|
0 |
0 |
if (0 == getrlimit (RLIMIT_NOFILE, &rl))
|
|
3018
|
0 |
0 |
if (0 == setrlimit (RLIMIT_NOFILE, &rl))
|
|
3030
|
0 |
0 |
on_next_submit = SvOK (cb) ? newSVsv (cb) : 0;
|
|
3055
|
0 |
19 |
REQ_SEND;
|
|
|
0 |
0 |
REQ_SEND;
|
|
3073
|
0 |
10 |
if (GIMME_V != G_VOID)
|
|
3074
|
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);
|
|
3076
|
10 |
0 |
if (items > 1)
|
|
3093
|
0 |
15 |
if (grp->int1 == 2)
|
|
3096
|
16 |
15 |
for (i = 1; i < items; ++i )
|
|
3100
|
12 |
4 |
if (GIMME_V != G_VOID)
|
|
3101
|
0 |
12 |
XPUSHs (sv_2mortal (newSVsv (ST (i))));
|
|
3105
|
16 |
0 |
if (req)
|
|
3127
|
8 |
4 |
for (i = 1; i < items; ++i )
|
|
3152
|
0 |
1 |
if (grp->int2 <= 0)
|