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