1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

r7483: ensure we try reading from a socket if epoll says we can, and don't

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)
This commit is contained in:
Andrew Tridgell 2005-06-11 03:53:39 +00:00 committed by Gerald (Jerry) Carter
parent 6412e8eeae
commit 07b0d86121
4 changed files with 6 additions and 4 deletions

View File

@ -222,7 +222,8 @@ static void cldap_socket_handler(struct event_context *ev, struct fd_event *fde,
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);
}
}

View File

@ -146,7 +146,8 @@ static void dgm_socket_handler(struct event_context *ev, struct fd_event *fde,
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);
}
}

View File

@ -292,7 +292,8 @@ static void nbt_name_socket_handler(struct event_context *ev, struct fd_event *f
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);
}
}

View File

@ -200,7 +200,6 @@ static void wrepl_handler(struct event_context *ev, struct fd_event *fde,
struct wrepl_socket);
if (flags & EVENT_FD_WRITE) {
wrepl_handler_send(wrepl_socket);
return;
}
if (flags & EVENT_FD_READ) {
wrepl_handler_recv(wrepl_socket);