Release ownership of the native descriptor implementation.
native_handle_type release();
This function may be used to obtain the underlying representation of the
descriptor. After calling this function, is_open()
returns false. The caller is responsible
for closing the descriptor.
All outstanding asynchronous read or write operations will finish immediately,
and the handlers for cancelled operations will be passed the asio::error::operation_aborted
error.