This is the mail archive of the
libc-hacker@sourceware.cygnus.com
mailing list for the glibc project.
Question about pselect interface
- To: libc-hacker@cygnus.com
- Subject: Question about pselect interface
- From: Andreas Jaeger <aj@arthur.rhein-neckar.de>
- Date: 21 Aug 1998 15:34:32 +0200
- Mail-Copies-To: never
Hi,
I've found two different definitions for pselect:
We use in glibc 2.1:
extern int pselect __P ((int __nfds, __fd_set *__readfds,
__fd_set *__writefds, __fd_set *__exceptfds,
struct timespec *__timeout));
and Stevens has (Unix Network Programming, Volume 1, 2nd Ed., 1998, p. 168):
int pselect (int maxfdp1, fd_set *readset, fd_set *writeset,
fd_set *exceptset, const struct *timespec, const sigset_t *sigmask);
Stevens states that this is "Posix.1g". AFAIK Posix.1g is still not
released and therefore I'd like to know what the "right" interface is.
The differences between the definitions are:
- _const_ struct timespec * versus struct timespec *
- additional paramter *sigmask. Stevens writes: "pselect adds a sixth
argument: a pointer to a signal mask. This allows the program to
disable the delivery of certain signals, test some global variables
that are set by the handlers for these now-disabled signals, and
then call pselect, telling it to reset the signal mask."
Has anybody access to the latest version of Posix.1g and can clarify
who's right?
Andreas
P.S. My `make; make check; make install' test of glibc 2.0.7 was
successful on Linux 2.1.113/i486 with egcs current.
--
Andreas Jaeger aj@arthur.rhein-neckar.de jaeger@informatik.uni-kl.de
for pgp-key finger ajaeger@alma.student.uni-kl.de