[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Win32 client fails with "cvs [checkout aborted]: reading from se rver:
From: |
Libera, Klaus |
Subject: |
Win32 client fails with "cvs [checkout aborted]: reading from se rver: Socket operation on non-socket" |
Date: |
Wed, 5 Mar 2003 12:44:56 +0100 |
Hi,
I compiled cvs-1-11-5 from source and run it on a Win2000 machine
with the ":server:" access method.
Every checkout ends (although the checkout itself was performed) with the
error message
cvs [checkout aborted]: reading from server: Socket operation on
non-socket
I then compiled cvs-1-11-1p1 which worked well without error messages.
Investigation of the cvs-1-11-5 source code showed the following results:
The operation 'socket_buffer_shutdown' (file ./src/client.c) is called at
the end of a checkout.
It contains the following lines:
else if (buf->output)
{ /* shutdown() socket */
# ifdef SHUTDOWN_SERVER
/* FIXME: Should have a SHUTDOWN_SERVER_INPUT &
* SHUTDOWN_SERVER_OUTPUT
*/
if (current_parsed_root->method == server_method)
SHUTDOWN_SERVER (n->socket);
else
# endif
if (shutdown (n->socket, 1) < 0)
{
error (1, 0, "shutting down server socket: %s", SOCK_STRERROR
(SOCK_ERRNO));
}
I.e. It calls 'SHUTDOWN_SERVER(n->socket)' instead of 'shutdown(n->socket,
1)' because the file
./windows-NT/config.h contains the line
#define SHUTDOWN_SERVER wnt_shutdown_server
Afterwards operation socket_buffer_input (file ./src/client.c) is called
which reads from the socket.
But this fails because the operation wnt_shutdown_server (file
./windows-NT/startserver.c)
has already shut down the socket competely for reading and writing.
I solved the problem by deleting the line '#define SHUTDOWN_SERVER
wnt_shutdown_server'
from ./windows-NT/config.h , but there may be better ways.
Regards
Klaus Libera
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Win32 client fails with "cvs [checkout aborted]: reading from se rver: Socket operation on non-socket",
Libera, Klaus <=