Lines Matching refs:fdset
178 r->io.fdset.buf = sdscatlen(r->io.fdset.buf,buf,len); in rioFdsetWrite()
180 if (sdslen(r->io.fdset.buf) > PROTO_IOBUF_LEN) doflush = 1; in rioFdsetWrite()
184 p = (unsigned char*) r->io.fdset.buf; in rioFdsetWrite()
185 len = sdslen(r->io.fdset.buf); in rioFdsetWrite()
194 for (j = 0; j < r->io.fdset.numfds; j++) { in rioFdsetWrite()
195 if (r->io.fdset.state[j] != 0) { in rioFdsetWrite()
205 retval = write(r->io.fdset.fds[j],p+nwritten,count-nwritten); in rioFdsetWrite()
219 r->io.fdset.state[j] = errno; in rioFdsetWrite()
220 if (r->io.fdset.state[j] == 0) r->io.fdset.state[j] = EIO; in rioFdsetWrite()
223 if (broken == r->io.fdset.numfds) return 0; /* All the FDs in error. */ in rioFdsetWrite()
226 r->io.fdset.pos += count; in rioFdsetWrite()
229 if (doflush) sdsclear(r->io.fdset.buf); in rioFdsetWrite()
243 return r->io.fdset.pos; in rioFdsetTell()
270 r->io.fdset.fds = zmalloc(sizeof(int)*numfds); in rioInitWithFdset()
271 r->io.fdset.state = zmalloc(sizeof(int)*numfds); in rioInitWithFdset()
272 memcpy(r->io.fdset.fds,fds,sizeof(int)*numfds); in rioInitWithFdset()
273 for (j = 0; j < numfds; j++) r->io.fdset.state[j] = 0; in rioInitWithFdset()
274 r->io.fdset.numfds = numfds; in rioInitWithFdset()
275 r->io.fdset.pos = 0; in rioInitWithFdset()
276 r->io.fdset.buf = sdsempty(); in rioInitWithFdset()
281 zfree(r->io.fdset.fds); in rioFreeFdset()
282 zfree(r->io.fdset.state); in rioFreeFdset()
283 sdsfree(r->io.fdset.buf); in rioFreeFdset()