IO-Ppoll

 view release on metacpan or  search on metacpan

lib/IO/Ppoll.xs  view on Meta::CPAN

    }
    XSRETURN_NO;

void
get_fds(fds, nfds)
    SV *fds
    int nfds
  INIT:
    int i;
    struct pollfd *fds_real;
  PPCODE:
    fds_real = (struct pollfd *)SvPV_nolen(fds);
    EXTEND(SP, nfds);
    for(i = 0; i < nfds; i++) {
      int fd = fds_real[i].fd;
      mPUSHi(fd);
    }

void
get_fds_for(fds, nfds, events)
    SV *fds
    int nfds
    int events
  INIT:
    int i;
    struct pollfd *fds_real;
  PPCODE:
    fds_real = (struct pollfd *)SvPV_nolen(fds);
    EXTEND(SP, nfds);
    for(i = 0; i < nfds; i++) {
      int fd;
      if((fds_real[i].revents & events) == 0)
        continue;
      fd = fds_real[i].fd;
      mPUSHi(fd);
    }



( run in 0.831 second using v1.01-cache-2.11-cpan-5511b514fd6 )