Set blocking/non-blocking mode on a stream

stream_select
stream_set_read_buffer
Stream Functions
PHP Manual

# stream_set_blocking

(PHP 4 >= 4.3.0, PHP 5)

stream_set_blocking — Set blocking/non-blocking mode on a stream

### Description

bool stream_set_blocking ( resource `$stream` , int `$mode` )

Sets blocking or non-blocking mode on a `stream`.

This function works for any stream that supports non-blocking mode (currently, regular files and socket streams).

### Parameters

`stream`

  The stream.

`mode`

  If `mode` is 0, the given stream will be switched to non-blocking mode, and if 1, it will be switched to blocking mode. This affects calls like fgets() and fread() that read from the stream. In non-blocking mode an fgets() call will always return right away while in blocking mode it will wait for data to become available on the stream.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Changelog

Version | Description
--- | ---
4.3.0 | Prior to PHP 4.3.0, this function only worked on socket based streams.

### Notes

> Note: This function was previously called as set_socket_blocking() and later socket_set_blocking() but this usage is deprecated.

### See Also

- stream_select() - Runs the equivalent of the select() system call on the given arrays of streams with a timeout specified by tv_sec and tv_usec

stream_select
stream_set_read_buffer
Stream Functions
PHP Manual