The fd_renumber()
function atomically copies a file descriptor from one location to another. It ensures that the copying operation is performed atomically and returns an Errno
value indicating the success or failure of the operation.
Note
The fd_renumber()
function atomically copies a file descriptor from one location to another. It takes the source file descriptor from
and the destination file descriptor to
. If the from
and to
file descriptors are the same, the function returns Errno::Success
without performing any copying operation.
The function retrieves the file descriptor map from the WASI environment and attempts to find the file descriptor entry corresponding to from
. If the entry is found, a new file descriptor entry is created with the same properties as the original entry, except for the file descriptor number, which is set to to
. The new entry is then inserted into the file descriptor map with the to
file descriptor number.
The function returns an Errno
value to indicate the success or failure of the operation. If the file descriptor is successfully copied, it returns Errno::Success
. Otherwise, it returns an appropriate error code.