On Tuesday 09 November 2004 18.08, Sigfred Håversen wrote:
> This is a patch to branches/svnserve-ssl. Please review and comment.
>
> There are two big changes in this patch. The svn_ra_svn_conn_t now
> has svn_stream_t members that replaces the apr_socket_t, apr_file_t
> and SSL related members. Various functions in subversion/libsvn_ra_svn
> has been changed to use those streams.
A bug was introduced in the patch with respect to setting timouts on the
socket when a blockhandler was used. The patch passed the automatic tests,
but when I tried to import a repository containing binary files, the client
would hang.
The timeout for a socket is changed when a blockhandler is set in
svn_ra_svn__set_block_handler(). In the original code for readbuf_input(),
there was a test (conn->sock && conn->block_handler) for setting the timeout.
In my svn_stream_t callbacks, I don't have access to the connection object
svn_ra_svn_conn_t, and thus can't test for conn->block_handler. The fix is to
restore the timeout of the socet after a blocking read in sock_read_cb() that
is in the file subversion/libsvn_ra_svn/marshal.c.
Patch attached. Please review and comment.
/Sigfred
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Nov 14 16:41:19 2004