glibc/sysdeps/unix/sysv/linux/i386/pselect.c
Ulrich Drepper 5c983cdd08 * sysdeps/unix/sysv/linux/pselect.c (__pselect): Allow actual
system call code to be redefined in macro CALL_PSELECT6.
	* sysdeps/unix/sysv/linux/i386/Makefile [subdir=misc]
	(sysdep_routines): Add call_pselect6.
	* sysdeps/unix/sysv/linux/i386/call_pselect6.c: New file.
	* sysdeps/unix/sysv/linux/i386/pselect.c: New file.
	* misc/Makefile (tests): Add tst-pselect.
	* misc/tst-pselect.c: New file.

	* sysdeps/unix/sysv/linux/pselect.c: Fix typo in declaration.

	* sysdeps/unix/sysv/linux/xmknodat.c (__xmknodat): Cast k_dev
	value to unsigned int to match kernel.
2006-01-21 08:21:04 +00:00

19 lines
561 B
C

#include <sys/select.h>
extern int __call_pselect6 (int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timespec *timeout,
void *data) attribute_hidden;
#define CALL_PSELECT6(nfds, readfds, writefds, exceptfds, timeout, data) \
({ int r = __call_pselect6 (nfds, readfds, writefds, exceptfds, timeout, \
data); \
if (r < 0 && r > -4096) \
{ \
__set_errno (-r); \
r = -1; \
} \
r; })
#include "../pselect.c"