socket_set_nonblock

Sets nonblocking mode for file descriptor fd

&reftitle.description; `bool` `socket_set_nonblock` `Socket` `socket`

The `socket_set_nonblock` function sets the `O_NONBLOCK` flag on the socket specified by the `socket` parameter.

When an operation (e.g. receive, send, connect, accept, ...) is performed on a non-blocking socket, the script will not pause its execution until it receives a signal or it can perform the operation. Rather, if the operation would result in a block, the called function will fail.

&reftitle.parameters;

`socket`

- A `Socket` instance created with `socket_create` or `socket_accept`.

&reftitle.returnvalues;

&return.success;

&reftitle.changelog;

&Version; | &Description;
&sockets.changelog.socket-param;

&reftitle.examples;

### `socket_set_nonblock` example

    <?php
    $socket = socket_create_listen(1223);
    socket_set_nonblock($socket);

    socket_accept($socket);
    ?>

This example creates a listening socket on all interfaces on port 1223 and sets the socket to `O_NONBLOCK` mode. `socket_accept` will immediately fail unless there is a pending connection exactly at this moment.

&reftitle.seealso;

- `socket_set_block`
- `socket_set_option`
- `stream_set_blocking`