From ad1c91250e3430a3262de405fbaf9da56e6e2610 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 21 Jan 2005 06:55:33 +0000 Subject: r4886: fixed two places where we process the send side of a socket after the recv side in the same event. That's a bad idea, as the first callback could decide to destroy the socket. (This used to be commit bf74ea34fc0e3c31e220c8f5a9217c95f3ca1d52) --- source4/libcli/raw/clitransport.c | 1 + source4/librpc/rpc/dcerpc_sock.c | 1 + 2 files changed, 2 insertions(+) diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c index eb9d2dde78..e6d40639c6 100644 --- a/source4/libcli/raw/clitransport.c +++ b/source4/libcli/raw/clitransport.c @@ -40,6 +40,7 @@ static void smbcli_transport_event_handler(struct event_context *ev, struct fd_e if (flags & EVENT_FD_READ) { smbcli_transport_process_recv(transport); + return; } if (flags & EVENT_FD_WRITE) { smbcli_transport_process_send(transport); diff --git a/source4/librpc/rpc/dcerpc_sock.c b/source4/librpc/rpc/dcerpc_sock.c index b48fedb0d8..720055087b 100644 --- a/source4/librpc/rpc/dcerpc_sock.c +++ b/source4/librpc/rpc/dcerpc_sock.c @@ -199,6 +199,7 @@ static void sock_io_handler(struct event_context *ev, struct fd_event *fde, if (flags & EVENT_FD_WRITE) { sock_process_send(p); + return; } if (sock->sock == NULL) { -- cgit