diff --git a/man2/select.2 b/man2/select.2 index e840ad44a..a010f47ce 100644 --- a/man2/select.2 +++ b/man2/select.2 @@ -197,25 +197,25 @@ The time structures involved are defined in .I and look like -.RS +.in +0.25i .nf struct timeval { long tv_sec; /* seconds */ long tv_usec; /* microseconds */ }; .fi -.RE +.in -0.25i and -.RS +.in +0.25i .nf struct timespec { long tv_sec; /* seconds */ long tv_nsec; /* nanoseconds */ }; .fi -.RE +.in -0.25i (However, see below on the POSIX 1003.1-2001 versions.) .PP @@ -389,8 +389,10 @@ was emulated in glibc (but see BUGS). .SH "LINUX NOTES" The Linux .BR pselect () -system call modifies its timeout argument. -However, the glibc wrapper functions hides this behaviour +system call modifies its +.I timeout +argument. +However, the glibc wrapper function hides this behaviour by using a local variable for the timeout argument that is passed to the system call. Thus, the glibc @@ -427,7 +429,8 @@ Under Linux, may report a socket file descriptor as "ready for reading", while nevertheless a subsequent read blocks. This could for example happen when data has arrived but upon examination has wrong -checksum and is discarded. There may be other circumstances. +checksum and is discarded. There may be other circumstances +in which a file descriptor is spuriously reported as ready. .\" Stevens discusses a case where accept can block after select .\" returns successfully because of an intervening RST from the client. Thus it may be safer to use O_NONBLOCK on sockets that should not block.