summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-01-21 06:55:33 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:02 -0500
commitad1c91250e3430a3262de405fbaf9da56e6e2610 (patch)
treea58fff7d81348bce4b0a31960005dd5737875c04
parentea923fb4a26f88664a1db36e1a93a2c96239a7a4 (diff)
downloadsamba-ad1c91250e3430a3262de405fbaf9da56e6e2610.tar.gz
samba-ad1c91250e3430a3262de405fbaf9da56e6e2610.tar.bz2
samba-ad1c91250e3430a3262de405fbaf9da56e6e2610.zip
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)
-rw-r--r--source4/libcli/raw/clitransport.c1
-rw-r--r--source4/librpc/rpc/dcerpc_sock.c1
2 files changed, 2 insertions, 0 deletions
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) {