diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/smbd/reply.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 3103ed9c8d..21a4eca714 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -2538,6 +2538,12 @@ int reply_writebraw(connection_struct *conn, char *inbuf,char *outbuf, int size, follows what WfWg does */ END_PROFILE(SMBwritebraw); if (!write_through && total_written==tcount) { + /* + * Fix for "rabbit pellet" mode, trigger an early TCP ack by + * sending a SMBkeepalive. Thanks to DaveCB at Sun for this. JRA. + */ + if (!send_keepalive(smbd_server_fd())) + exit_server("reply_writebraw: send of keepalive failed"); return(-1); } |