Close the descriptor.
This function is used to close the descriptor. Any asynchronous read
or write operations will be cancelled immediately, and will complete
Thrown on failure. Note that, even if the function indicates an error, the underlying descriptor is closed.