select(2): a minor man patch and a question

Nicolas Thery nthery at gmail.com
Wed Aug 1 00:59:13 PDT 2007


Hello,

DragonFly BSD has <sys/select.h> but "man select" specifies an older
synopsis.  Here is a
patch to change this.

Index: src/lib/libc/sys/select.2
===================================================================
--- src.orig/lib/libc/sys/select.2      2006-05-26 21:39:37.000000000 +0200
+++ src/lib/libc/sys/select.2   2007-08-01 09:03:54.000000000 +0200
@@ -42,9 +42,7 @@
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
-.In sys/types.h
-.In sys/time.h
-.In unistd.h
+.In sys/select.h
 .Ft int
 .Fn select "int nfds" "fd_set *readfds" "fd_set *writefds" "fd_set
*exceptfds" "struct timeval *timeout"
 .Fn FD_SET fd &fdset

On a related note, a warning is issued when compiling a program that
uses FD_ZERO() because
bzero() is used under the hood and its prototype is not found.

I'm not sure what is the Right Thing to do:

1) Leave the warning. It is up to client code to include <string.h>
first (but this is not
specified in http://www.opengroup.org/onlinepubs/009695399/functions/select.html)

2) #include <string.h> in <sys/select.h> when building userland code.

3) copy bzero() prototype into <sys/select.h>

Thanks in advance,
Nicolas





More information about the Submit mailing list