[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
cvs-1_11_18 VMS client build select() function problem
From: |
Piet Schuermans |
Subject: |
cvs-1_11_18 VMS client build select() function problem |
Date: |
Tue, 8 Feb 2005 00:03:33 +0100 |
Follow-up on Issue 1:
See "Complete build session of CVS-1_11_18 VMS client" of January 30,
2005
Recall:
The CVS-1_11_18 VMS client build had two remaining issues
-1- the changes in the [.src]client.c to get things working and avoid
the error with the select statement
-2- the renaming problem Entries.Backup to Entries.; when checking out
a large module.
This e-mail addresses only the first issue.
In January I comment out the select statement, as a temporary
workaround in [.SRC]Client.c routines handle_e and handle_m. Which
enables us to use the CVS-1_11_18 build client on our VMS systems
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.
Piet Schuermans.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- cvs-1_11_18 VMS client build select() function problem,
Piet Schuermans <=