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
|
37 |
20 |
if (!req->self) |
523
|
84 |
0 |
if (!SvROK (sv) |
525
|
42 |
42 |
|| (SvSTASH (SvRV (sv)) != aio_grp_stash |
526
|
0 |
42 |
&& SvSTASH (SvRV (sv)) != aio_req_stash |
527
|
0 |
0 |
&& !sv_derived_from (sv, "IO::AIO::REQ"))) |
532
|
84 |
0 |
return mg ? (aio_req)mg->mg_ptr : 0; |
538
|
36 |
0 |
if (!SvROK (sv) |
539
|
36 |
0 |
|| SvTYPE (SvRV (sv)) != SVt_PVMG |
540
|
0 |
36 |
|| 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
|
21 |
0 |
if (grp->sv2 && SvOK (grp->sv2)) |
|
1 |
20 |
if (grp->sv2 && SvOK (grp->sv2)) |
|
1 |
0 |
if (grp->sv2 && SvOK (grp->sv2)) |
|
0 |
1 |
if (grp->sv2 && SvOK (grp->sv2)) |
580
|
0 |
20 |
PUSHMARK (SP); |
581
|
0 |
20 |
XPUSHs (req_sv (grp, aio_grp_stash)); |
585
|
20 |
0 |
FREETMPS; |
596
|
0 |
81 |
if (expect_false (on_next_submit)) |
603
|
0 |
0 |
PUSHMARK (SP); |
612
|
1 |
60 |
if (req->flags & FLAG_SV2_RO_OFF) |
615
|
58 |
3 |
if (!EIO_CANCELLED (req) && req->callback) |
|
57 |
1 |
if (!EIO_CANCELLED (req) && req->callback) |
623
|
0 |
57 |
PUSHMARK (SP); |
624
|
0 |
57 |
EXTEND (SP, 1); |
627
|
49 |
8 |
if (expect_true (sv_result_cache)) |
631
|
0 |
49 |
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 |
17 |
PL_laststype = req->type == EIO_LSTAT ? OP_LSTAT : OP_STAT; |
776
|
18 |
5 |
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
|
57 |
0 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) |
|
0 |
57 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) |
|
0 |
57 |
if (expect_false (SvREFCNT (sv_result) != 1 || sv_result_cache)) |
888
|
8 |
49 |
FREETMPS; |
894
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
61 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
61 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
61 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
61 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
0 |
return !!SvTRUE (ERRSV); |
|
0 |
61 |
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
|
37 |
24 |
if (req->self) |
918
|
0 |
0 |
if (grp->type != EIO_GROUP) |
931
|
0 |
10 |
if (s_epipe_renew (&respipe)) |
938
|
41 |
0 |
while (eio_nreqs ()) |
946
|
24 |
17 |
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 |
91 |
SvGETMAGIC (cb_sv); |
|
0 |
0 |
SvGETMAGIC (cb_sv); |
988
|
29 |
62 |
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 |
81 |
if (!req) |
1028
|
17 |
21 |
if (expect_false (SvROK (path))) |
1033
|
17 |
0 |
if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1) |
|
17 |
0 |
if (SvTYPE (rv) == SVt_PVAV && AvFILLp (rv) == 1) |
1038
|
0 |
17 |
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
|
38 |
0 |
*ptr = SvPVbyte_nolen (*pathsv); |
1072
|
16 |
9 |
SV *rv = SvROK (fh_or_path) ? SvRV (fh_or_path) : fh_or_path; |
1074
|
1 |
24 |
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); |
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; |
|
1 |
0 |
REQ_SEND; |
|
0 |
1 |
REQ_SEND; |
1644
|
4 |
0 |
REQ_SEND; |
|
0 |
4 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1662
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1679
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1696
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1735
|
1 |
0 |
REQ_SEND; |
|
0 |
1 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1748
|
0 |
0 |
req->offs = SvVAL64 (offset); |
1751
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1763
|
1 |
0 |
char *svptr = SvPVbyte (data, svlen); |
1764
|
0 |
1 |
UV len = SvUV (length); |
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) |
|
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
|
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; |
1799
|
1 |
0 |
if (!SvREADONLY (data)) |
1805
|
1 |
0 |
REQ_SEND; |
|
0 |
1 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1819
|
0 |
0 |
if (SvPOK (arg) || !SvNIOK (arg)) |
|
0 |
0 |
if (SvPOK (arg) || !SvNIOK (arg)) |
1829
|
0 |
0 |
if (svlen < need) |
1830
|
0 |
0 |
svptr = SvGROW (arg, need); |
|
0 |
0 |
svptr = SvGROW (arg, need); |
1833
|
0 |
0 |
svptr = (char *)SvIV (arg); |
1845
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1861
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1880
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1896
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1909
|
0 |
25 |
req_set_fh_or_path (req, ix, ix == EIO_STATVFS ? EIO_FSTATVFS : EIO_FSTAT, fh_or_path); |
1911
|
25 |
0 |
REQ_SEND; |
|
19 |
6 |
REQ_SEND; |
|
0 |
19 |
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); |
1970
|
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.; |
1971
|
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.; |
1974
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1983
|
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; |
1986
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
1998
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2007
|
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; |
2008
|
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; |
2011
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2023
|
1 |
2 |
if (flags & EIO_READDIR_DENTS) |
2028
|
3 |
0 |
REQ_SEND; |
|
1 |
2 |
REQ_SEND; |
|
0 |
1 |
REQ_SEND; |
2041
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2057
|
4 |
0 |
REQ_SEND; |
|
0 |
4 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2076
|
1 |
0 |
REQ_SEND; |
|
0 |
1 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2092
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2106
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2117
|
0 |
0 |
char *svptr = SvPVbyte (data, svlen); |
2118
|
0 |
0 |
UV len = SvUV (length); |
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) |
|
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; |
|
0 |
0 |
REQ_SEND; |
2150
|
0 |
0 |
char *svptr = SvPVbyte (data, svlen); |
2151
|
0 |
0 |
UV len = SvUV (length); |
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) |
|
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; |
|
0 |
0 |
REQ_SEND; |
2183
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2201
|
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; |
2203
|
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; |
2206
|
0 |
0 |
REQ_SEND; |
|
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) |
2224
|
0 |
0 |
svptr = SvPVbyte_nolen (data); |
2237
|
0 |
0 |
if (!SvREADONLY (data)) |
2243
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2254
|
0 |
13 |
req->nv1 = delay < 0. ? 0. : delay; |
2256
|
13 |
0 |
REQ_SEND; |
|
10 |
3 |
REQ_SEND; |
|
0 |
10 |
REQ_SEND; |
2271
|
0 |
6 |
XPUSHs (req_sv (req, aio_grp_stash)); |
2285
|
3 |
0 |
REQ_SEND; |
|
0 |
3 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
2292
|
28 |
1 |
if (items > 0) |
2294
|
0 |
28 |
if (pri < EIO_PRI_MIN) pri = EIO_PRI_MIN; |
2295
|
6 |
22 |
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 ()) |
2393
|
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; |
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; |
2448
|
0 |
0 |
void *addr = SvPVbyte (scalar, svlen); |
2449
|
0 |
0 |
STRLEN len = SvUV (length); |
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) |
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen) |
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen) |
2477
|
0 |
0 |
void *addr = SvPVbyte (scalar, svlen); |
2478
|
0 |
0 |
size_t len = SvUV (length); |
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) |
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen) |
|
0 |
0 |
if (!SvOK (length) || len + offset > svlen) |
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); |
2703
|
0 |
0 |
RETVAL = splice ( |
|
0 |
0 |
RETVAL = splice ( |
2704
|
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, |
2705
|
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, |
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)) |
|
0 |
0 |
if (SvOK (siginfo)) |
|
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); |
|
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); |
|
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); |
|
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); |
|
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); |
|
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); |
|
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); |
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)) |
|
0 |
0 |
if (!SvOK (envs)) |
|
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; |
|
0 |
0 |
on_next_submit = SvOK (cb) ? newSVsv (cb) : 0; |
|
0 |
0 |
on_next_submit = SvOK (cb) ? newSVsv (cb) : 0; |
3055
|
19 |
0 |
REQ_SEND; |
|
0 |
19 |
REQ_SEND; |
|
0 |
0 |
REQ_SEND; |
3073
|
0 |
10 |
if (GIMME_V != G_VOID) |
|
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 |
31 |
if (grp->int1 == 2) |
3096
|
32 |
31 |
for (i = 1; i < items; ++i ) |
3100
|
15 |
17 |
if (GIMME_V != G_VOID) |
|
13 |
19 |
if (GIMME_V != G_VOID) |
3101
|
0 |
13 |
XPUSHs (sv_2mortal (newSVsv (ST (i)))); |
3105
|
32 |
0 |
if (req) |
3127
|
8 |
4 |
for (i = 1; i < items; ++i ) |
3152
|
0 |
3 |
if (grp->int2 <= 0) |