### 3.15 Call Unix `select` for data connections

Loadable Function: select_sockets (connections, timeout) ¶
Loadable Function: select_sockets (connections, timeout, nfds) ¶

  Calls Unix `select` for data connections in a parallel cluster.

  This function is for advanced usage (and therefore has minimal documentation), typically the programming of schedulers. It can be called at the client or at a server.

  connections: valid connections object (see `pconnect` and `pserver`, possibly indexed).

  timeout: seconds, negative for infinite.

  nfds: Passed to Unix `select` as first argument, see documentation of Uix `select`. Default: `FD_SETSIZE` (platform specific).

  An error is returned if nfds or a watched filedescriptor plus one exceeds FD_SETSIZE.

  Returns an index vector to connections indicating connections with pending input, readable with `precv`.

  If called at the client, the command connections are included into the UNIX `select` call and checked for error flags, and `select_sockets` returns an error if a flag for a remote error is received.

  See also: pconnect, pserver, reval, psend, precv, sclose, parallel_generate_srp_data.