Method Stdio.File()->set_nonblocking()


Method set_nonblocking

void set_nonblocking(read_callback_t read_callback, write_callback_t write_callback, close_callback_t close_callback)
void set_nonblocking(read_callback_t read_callback, write_callback_t write_callback, close_callback_t close_callback, read_oob_callback_t read_oob_callback, write_oob_callback_t write_oob_callback)
void set_nonblocking()

Description

This function sets a stream to nonblocking mode and installs the specified callbacks. See the set_*_callback functions for details about them. If no arguments are given, the callbacks will be cleared.

Note

As opposed to calling the set callback functions separately, this function will set all the callbacks and nonblocking mode atomically so that no callback gets called in between. That avoids races in case the backend is executed by another thread.

Note

Out-of-band data was not be supported on Pike 0.5 and earlier, and not on Pike 0.6 through 7.4 if they were compiled with the option '--without-oob'.

See also

set_blocking(), set_callbacks, set_read_callback(), set_write_callback(), set_read_oob_callback(), set_write_oob_callback(), set_close_callback() set_nonblocking_keep_callbacks(), set_blocking_keep_callbacks()