Next: socket Prev: pwd Up: UNIX ONLY Top: Top
select
select
available in
most UNIX versions. It defines the following:
errno
and the
corresponding string, as would be printed by the C function
perror()
.
select()
system call. The first three arguments are lists of `waitable
objects': either integers representing UNIX file descriptors or
objects with a parameterless method named fileno()
returning
such an integer. The three lists of waitable objects are for input,
output and `exceptional conditions', respectively. Empty lists are
allowed. The optional last argument is a time-out specified as a
floating point number in seconds. When the timeout argument
is omitted the function blocks until at least one file descriptor is
ready. A time-out value of zero specifies a poll and never blocks.
The return value is a triple of lists of objects that are ready: subsets of the first three arguments. When the time-out is reached without a file descriptor becoming ready, three empty lists are returned.
Amongst the acceptable object types in the lists are Python file
objects (e.g. sys.stdin
, or objects returned by open()
or posix.popen()
), socket objects returned by
socket.socket()
, and the module stdwin
which happens to
define a function fileno()
for just this purpose. You may
also define a wrapper class yourself, as long as it has an
appropriate fileno()
method (that really returns a UNIX file
descriptor, not just a random integer).