EINTR problem in async_smb.c
Jeremy Allison
jra at samba.org
Thu Oct 9 22:21:10 GMT 2008
Volker,
I think the following patch is needed
in async_smb.c to prevent problems with signal
delivery when called from smbd (or other signal
handling programs).
Can you comment please ?
Jeremy.
-------------- next part --------------
diff --git a/source/libsmb/async_smb.c b/source/libsmb/async_smb.c
index 9346264..935ae47 100644
--- a/source/libsmb/async_smb.c
+++ b/source/libsmb/async_smb.c
@@ -360,7 +360,7 @@ static void cli_state_handler(struct event_context *event_ctx,
}
cli->evt_inbuf = tmp;
- res = recv(cli->fd, cli->evt_inbuf + old_size, available, 0);
+ res = sys_recv(cli->fd, cli->evt_inbuf + old_size, available, 0);
if (res == -1) {
DEBUG(10, ("recv failed: %s\n", strerror(errno)));
status = map_nt_error_from_unix(errno);
@@ -404,7 +404,7 @@ static void cli_state_handler(struct event_context *event_ctx,
return;
}
- sent = send(cli->fd, req->outbuf + req->sent,
+ sent = sys_send(cli->fd, req->outbuf + req->sent,
to_send - req->sent, 0);
if (sent < 0) {
More information about the samba-technical
mailing list