ret = read(state->sock[0], &c, 1);
if (ret == 1) {
+ if (flags != (TEVENT_FD_READ|TEVENT_FD_WRITE)) {
+ state->finished = true;
+ state->error = __location__;
+ return;
+ }
+ return;
+ }
+
+ /*
+ * EOF and errors should be just reported
+ * by TEVENT_FD_READ.
+ */
+ if (flags != TEVENT_FD_READ) {
+ state->finished = true;
+ state->error = __location__;
return;
}
/*
* end of test...
*/
- tevent_fd_set_flags(fde, 0);
+ TEVENT_FD_NOT_READABLE(fde);
state->drain_done = true;
return;
}