Branch Coverage

lib/Linux/Epoll.xs
Criterion Covered Total %
branch 49 116 42.2


line true false branch
23 1 16 if (magic) {
26 0 1 PUSHMARK(SP);
31 1 0 ret = POPi;
44 0 0 if (message != buffer)
65 0 0 if (!SvOK(sigmask))
0 0 if (!SvOK(sigmask))
0 0 if (!SvOK(sigmask))
67 0 0 if (!SvROK(sigmask) || !sv_derived_from(sigmask, "POSIX::SigSet"))
0 0 if (!SvROK(sigmask) || !sv_derived_from(sigmask, "POSIX::SigSet"))
70 0 0 return (sigset_t *) SvPV_nolen(SvRV(sigmask));
102 5 0 const char* event_name = SvPV(event, len);
104 8 0 for (i = 0; i < sizeof events / sizeof *events; ++i) {
105 5 3 if (events[i].keylen == len && strEQ(events[i].key, event_name))
5 0 if (events[i].keylen == len && strEQ(events[i].key, event_name))
113 1 3 if (SvROK(names)) {
120 2 1 for (i = 0; i < len; ++i) {
133 9 0 for (i = 0; i < sizeof events / sizeof *events; ++i)
134 4 5 if (events[i].value == event_bit)
144 0 4 if (!ret)
176 3 1 SV* ref = sv_rvweaken(SvROK(fh) ? newSVsv(fh) : newRV(fh));
194 2 0 IO* io = GvIOn(gv);
2 0 IO* io = GvIOn(gv);
2 0 IO* io = GvIOn(gv);
2 0 IO* io = GvIOn(gv);
206 34 1 for (shift = 0; shift < 32; ++shift) {
208 4 30 if (bits & bit_value) {
211 2 2 if (bits == bit_value)
232 0 2 if (fd < 0)
256 0 3 if (epoll_ctl(efd, EPOLL_CTL_ADD, ofd, &event) == -1) {
257 0 0 if (GIMME_V != G_VOID && (errno == EEXIST || errno == EPERM))
0 0 if (GIMME_V != G_VOID && (errno == EEXIST || errno == EPERM))
0 0 if (GIMME_V != G_VOID && (errno == EEXIST || errno == EPERM))
0 0 if (GIMME_V != G_VOID && (errno == EEXIST || errno == EPERM))
283 0 1 if (epoll_ctl(efd, EPOLL_CTL_MOD, ofd, &event) == -1) {
284 0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
303 0 1 if (epoll_ctl(efd, EPOLL_CTL_DEL, ofd, NULL) == -1) {
304 0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
0 0 if (GIMME_V != G_VOID && errno == ENOENT)
326 0 7 if (maxevents <= 0)
329 0 7 real_timeout = SvOK(timeout) ? (int)ceil(SvNV(timeout) * 1000) : -1;
0 0 real_timeout = SvOK(timeout) ? (int)ceil(SvNV(timeout) * 1000) : -1;
0 0 real_timeout = SvOK(timeout) ? (int)ceil(SvNV(timeout) * 1000) : -1;
0 7 real_timeout = SvOK(timeout) ? (int)ceil(SvNV(timeout) * 1000) : -1;
330 7 0 real_sigset = SvOK(sigset) ? sv_to_sigset(sigset, "epoll_pwait") : NULL;
7 0 real_sigset = SvOK(sigset) ? sv_to_sigset(sigset, "epoll_pwait") : NULL;
0 7 real_sigset = SvOK(sigset) ? sv_to_sigset(sigset, "epoll_pwait") : NULL;
334 6 1 if (RETVAL == -1) {
335 0 1 if (errno != EINTR)
337 1 0 PERL_ASYNC_CHECK();
340 3 6 for (i = 0; i < RETVAL; ++i) {
345 3 6 for (i = 0; i < RETVAL; ++i) {
347 0 3 PUSHMARK(SP);
348 0 3 mXPUSHs(event_bits_to_hash(events[i].events));