bug-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenVMS and CVS-1_11_21 client


From: Mark D. Baushke
Subject: Re: OpenVMS and CVS-1_11_21 client
Date: Thu, 17 Nov 2005 08:39:18 -0800

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Piet,

Piet Schuermans <pschuermans@mac.com> writes:

> It works fine. Just rebuild and tested.

The change has been committed to the repository in both the stable and
feature branches.

> I had some problem with [.src]client.c
> Based on your last e-mail I restored client.c to it's original state,
> meaning I removed my error handling in
> both handle_m and handle_e.  Result check-out CVS test failed.
> Error: "cvs: cannot write to stderr: socket operation on non-socket"
> So I restored the error handling in both routines and CVS Client
> tests returned no errors.
> 
> [ [part of e-mail addressing select(..) problem in handle_m and
> handle_e]
> The problem is not the client.c code but an VMS issue with file
> descriptors stderr and stdout that are not associated with a socket.
> (VMS Release notes => The select() function has been corrected to
> return failure status if either invalid file descriptor or file
> descriptor not associated with a socket is found in one of the
> specified file descriptor sets. In case of invalid file descriptor,
> the select() function sets errno to EBADF. In case of a file
> descriptor not associated with a socket, the function sets errno to
> ENOTSOCK.
> Failure with errno set to EBADF is the standard requirement for the
> select() function. Failure with errno set to ENOTSOCK is because
> currently the select() function can operate only on sockets.
> So if I check in both routines not only the returning value of select
> (...) but also the errno. And handle the case when errno == ENOTSOCK.
> it would work again with the "original" cvs source files. So instead
> of simple comment out the select() function I replacing it with a vms
> specific wrap function VMS_Select( ) in which I handle the set errno
> values.
> ] ]

Hmmm... so, are you now doing some [.vms]config.h magic to cause the
select() calls in client.c to use your VMS_Select() and do the right
thing? If you have a clean set of patches against the cvs1-11-x-branch
and/or the main trunk, it might be wise to send them to bug-cvs or
attach them to a patch on savannah.nongnu.org so that they are not lost.

It would be desirable to use 'cvs diff -u' for the patches if possible
rather than using the VMS diff command if you could.

btw: Derek is the one who has been working on the problems associated
with select() and a non-blocking/blocking I/O problem with OpenSSH as
transport... I have not looked closely at that code recently.

        Thanks,
        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)

iD8DBQFDfLI2Cg7APGsDnFERAoEZAJ9OPT68HqzS4sMZIYn3TjDWWIoOMQCdGzw4
zXihMIfqUVEIUoV8t0BsPW8=
=GWrp
-----END PGP SIGNATURE-----




reply via email to

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