asio C++ library

basic_random_access_file::cancel (2 of 2 overloads)

Inherited from basic_file.

Cancel all asynchronous operations associated with the file.

void cancel(
    asio::error_code & ec);

This function causes all outstanding asynchronous read and write operations to finish immediately, and the handlers for cancelled operations will be passed the asio::error::operation_aborted error.



Set to indicate what error occurred, if any.


Calls to cancel() will always fail with asio::error::operation_not_supported when run on Windows XP, Windows Server 2003, and earlier versions of Windows, unless ASIO_ENABLE_CANCELIO is defined. However, the CancelIo function has two issues that should be considered before enabling its use:

For portable cancellation, consider using the close() function to simultaneously cancel the outstanding operations and close the file.

When running on Windows Vista, Windows Server 2008, and later, the CancelIoEx function is always used. This function does not have the problems described above.