Hash :
f8e84098
Author :
Date :
2012-01-28T18:12:10
sys_time: Override 'struct timeval' on some native Windows platforms. * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec has the right type. Set REPLACE_STRUCT_TIMEVAL if not. (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL. * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval' needs to be overridden. (timeval): Override if REPLACE_STRUCT_TIMEVAL is set. * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL. * tests/test-sys_select.c: Check that the tv_sec member has the same size as a 'time_t'. * tests/test-sys_time.c: Likewise. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL is set, set also REPLACE_GETTIMEOFDAY. * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden, convert the resulting 'struct timeval' before returning. * lib/select.c: Include <sys/time.h>. (select, timeval): Undefine at the right place. * modules/select (Depends-on): Add sys_time. * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on some Windows platforms. Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
Description:
select() function: synchronous I/O multiplexing.
Files:
lib/select.c
m4/select.m4
Depends-on:
sys_select
alloca [test $REPLACE_SELECT = 1]
sockets [test $REPLACE_SELECT = 1]
sys_time [test $REPLACE_SELECT = 1]
msvc-nothrow [test $REPLACE_SELECT = 1]
configure.ac:
gl_FUNC_SELECT
if test $REPLACE_SELECT = 1; then
AC_LIBOBJ([select])
fi
gl_SYS_SELECT_MODULE_INDICATOR([select])
Makefile.am:
Include:
<sys/select.h>
Link:
$(LIB_SELECT)
License:
LGPLv2+
Maintainer:
Simon Josefsson