svn commit: samba r7025 - in branches/SAMBA_3_0/source: lib tdb

derrell at derrell at
Fri May 27 19:47:27 GMT 2005

Jeremy Allison <jra at> writes:

> As read_socket_data() is a static only called from
> read_smb_length_return_keepalive() and receive_smb_raw() perhaps we should
> just change these calls to call read_socket_with_timeout() if the timeout
> value is non-zero. That way only the client calls that need a timeout pay
> this penalty, and the main smbd server code that calls with timeout=0
> doesn't.

That's pretty much what my original patch did, except that it TRIED to avoid
the overhead of calling read_socket_with_timeout() unless it got back EAGAIN,
in which case the overhead was deemed to be worthwhile.

With my renewed insight into why I did things the way I did a few weeks ago,
and your insight now about these additional details, maybe we should consider
changing read_socket_data() to return partial packets if EAGAIN occurs after
partial data has been read, and go back to my original patch?


More information about the samba-technical mailing list