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