bug-cvs
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]