|
|
This package implements the System V poll(2) system call for Unix-like
systems that do not support poll. For instance, the following
Unix-like operating systems do not support poll:
- NetBSD, prior to version
1.3
- FreeBSD, prior to version 3.0
- OpenBSD, prior to version 2.0
- BSD/OS. (See the
BSD/OS man pages.)
- Apple's Mac OS X (prior
to OS X 10.3) and Darwin
- QNX 6
- 4.4 BSD Lite 2 (not generally used by production systems)
- 386BSD (pretty much obsolete these days)
poll provides a method for multiplexing input and output on
multiple open file descriptors; in traditional BSD systems, that capability
is provided by select(2). While the semantics of select
differ from those of poll, poll can be readily emulated in
terms of select, which is exactly what this small piece of
software does.
Brief documentation on this emulation can be found at the top of the
poll.h header file. For a full description of poll,
consult W. Richard Stevens' excellent book, Unix Network Programming
(Prentice-Hall, 1990). The software should compile on most BSD UNIX systems
without modification. I have successfully compiled it on:
- BSD/OS (BSDI) 1.1, 2.0, 2.1
- FreeBSD 2.1.0 through 4.8
In addition:
- Benjamin Reed, ranger @ befunk . com, has supplied the necessary Makefile changes to build it on Mac OS X (Darwin).
- Sven Fischer, fischer @ deutaeit . de, informed me that it works, without change, on QNX 6.
See the README and INSTALL files in the tarball
for details.
This software is released under the following license:
Copyright (c) 1995-2003 Brian M. Clapper
All rights reserved.
Redistribution and use in source and binary forms are permitted provided
that: (1) source distributions retain this entire copyright notice and
comment; (2) modifications made to the software are prominently mentioned,
and a copy of the original software (or a pointer to its location) are
included; and (3) distributions including binaries display the following
acknowledgement: "This product includes software developed by
Brian M Clapper, <bmc @ clapper . org>"
in the documentation or other materials provided with the distribution. The
name of the author may not be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Effectively, this means you can do what you want with the software except
remove this notice or take advantage of the author's name. If you modify
the software and redistribute your modified version, you must indicate that
your version is a modification of the original, and you must provide either
a pointer to or a copy of the original.
Brian Clapper, bmc @ clapper . org
$Id: index.html 5713 2006-03-05 00:31:22Z bmc $
|