just do the write. This is needed because the write could return
-1/EAGAIN for dgram sockets, if the socket buffer is nearly full. The
epoll loop then goes on forever.
This was causing some failures in 'make test'
(This used to be commit
b7fefe76a2d3c288611868f41d65af4e13ac460b)
struct cldap_socket *cldap = talloc_get_type(private, struct cldap_socket);
if (flags & EVENT_FD_WRITE) {
cldap_socket_send(cldap);
- } else if (flags & EVENT_FD_READ) {
+ }
+ if (flags & EVENT_FD_READ) {
cldap_socket_recv(cldap);
}
}
struct nbt_dgram_socket);
if (flags & EVENT_FD_WRITE) {
dgm_socket_send(dgmsock);
- } else if (flags & EVENT_FD_READ) {
+ }
+ if (flags & EVENT_FD_READ) {
dgm_socket_recv(dgmsock);
}
}
struct nbt_name_socket);
if (flags & EVENT_FD_WRITE) {
nbt_name_socket_send(nbtsock);
- } else if (flags & EVENT_FD_READ) {
+ }
+ if (flags & EVENT_FD_READ) {
nbt_name_socket_recv(nbtsock);
}
}
struct wrepl_socket);
if (flags & EVENT_FD_WRITE) {
wrepl_handler_send(wrepl_socket);
- return;
}
if (flags & EVENT_FD_READ) {
wrepl_handler_recv(wrepl_socket);