Closes the specified channel to new read and write operations.


void dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags);



The channel to close.


The options to use when closing the channel. For a list of possible values, see dispatch_io_close_flags_t.


After calling this function, you should not schedule any more read or write operations on the channel. Doing so causes an error to be sent to your handler.

If the DISPATCH_IO_STOP option is specified in the flags parameter, the system attempts to interrupt any outstanding read and write operations on the I/O channel. Even if you specify this flag, the corresponding handlers may be invoked with partial results. In addition, the final invocation of the handler is passed the ECANCELED error code to indicate that the operation was interrupted. If you do not specify the DISPATCH_IO_STOP flag, read and write operations on the channel run to completion as normal.

See Also

Closing the File


Additional flags to use when closing an I/O channel.