| line | true | false | branch | 
 
| 37 | 0 | 6 | if (!sv) | 
 
| 39 | 0 | 6 | if (SvGMAGICAL(sv)) | 
 
| 41 | 1 | 5 | if (SvIOK(sv)) /* maybe non-portable but nice for unixen */ | 
 
| 42 | 1 | 0 | return SvIV(sv); | 
 
| 43 | 5 | 0 | if (SvROK(sv)) | 
 
| 45 | 5 | 0 | if (SvTYPE(sv) == SVt_PVGV) { | 
 
| 46 | 5 | 0 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
|  | 0 | 5 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
|  | 0 | 0 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
|  | 5 | 0 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
|  | 5 | 0 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
|  | 0 | 5 | if (!(io=GvIO((GV*)sv)) || !(fp = IoIFP(io))) { | 
 
| 59 | 0 | 94226 | if (!got) { | 
 
| 246 | 0 | 1 | if (ret < 0 && errno != EAGAIN && errno != EINTR) | 
 
|  | 0 | 0 | if (ret < 0 && errno != EAGAIN && errno != EINTR) | 
 
|  | 0 | 0 | if (ret < 0 && errno != EAGAIN && errno != EINTR) | 
 
| 249 | 0 | 1 | if (left > IntervalEpsilon) { | 
 
| 250 | 0 | 0 | if (ret==0) ++TimeoutTooEarly; | 
 
| 264 | 3 | 59061 | if (pollMax < IOWatchCount) { | 
 
| 265 | 0 | 3 | if (Pollfd) | 
 
| 268 | 0 | 3 | EvNew(9, Pollfd, pollMax, struct pollfd); | 
 
| 271 | 17 | 59047 | if (!IOWatch_OK) { | 
 
| 273 | 4 | 13 | if (Pollfd) | 
 
| 274 | 0 | 4 | Zero(Pollfd, pollMax, struct pollfd); | 
 
| 276 | 7 | 17 | while (ev) { | 
 
| 281 | 4 | 3 | if (ev->poll & PE_R) bits |= (POLLIN | POLLPRI); | 
 
| 282 | 3 | 4 | if (ev->poll & PE_W) bits |= POLLOUT; | 
 
| 283 | 0 | 7 | if (ev->poll & PE_E) bits |= (POLLRDBAND | POLLPRI); | 
 
| 286 | 4 | 7 | for (xx = 0; xx < Nfds; xx++) { | 
 
| 287 | 0 | 4 | if (Pollfd[xx].fd == fd) { ok=1; break; } | 
 
| 289 | 7 | 0 | if (!ok) xx = Nfds++; | 
 
| 299 | 94228 | 59064 | for (xx=0; xx < Nfds; xx++) | 
 
| 301 | 15 | 59049 | if (timeout < 0) | 
 
| 305 | 0 | 59064 | if (ret < 0) { | 
 
| 306 | 0 | 0 | if (errno == EINTR || errno == EAGAIN) | 
 
|  | 0 | 0 | if (errno == EINTR || errno == EAGAIN) | 
 
| 308 | 0 | 0 | if (errno == EINVAL) { | 
 
| 316 | 94228 | 59064 | while (ev) { | 
 
| 320 | 94228 | 0 | if (xref >= 0) { | 
 
| 323 | 47060 | 47168 | if (mask & (POLLIN | POLLPRI | POLLHUP | POLLERR)) got |= PE_R; | 
 
| 324 | 47166 | 47062 | if (mask & (POLLOUT | POLLERR)) got |= PE_W; | 
 
| 325 | 1 | 94227 | if (mask & (POLLRDBAND | POLLPRI | POLLHUP | POLLERR)) got |= PE_E; | 
 
| 326 | 1 | 94227 | if (mask & POLLNVAL) { | 
 
| 327 | 1 | 0 | warn("Event: '%s' was unexpectedly closed", | 
 
| 331 | 1 | 94226 | if ((mask & POLLHUP) && (ev->poll & PE_W) && (!(got & PE_W)) | 
 
|  | 0 | 1 | if ((mask & POLLHUP) && (ev->poll & PE_W) && (!(got & PE_W)) | 
 
|  | 0 | 0 | if ((mask & POLLHUP) && (ev->poll & PE_W) && (!(got & PE_W)) | 
 
| 332 | 0 | 0 | && (!(ev->poll & PE_R)) && (!(ev->poll & PE_E))) { | 
 
|  | 0 | 0 | && (!(ev->poll & PE_R)) && (!(ev->poll & PE_E))) { | 
 
| 337 | 94226 | 1 | if (got) _queue_io(ev, got); |