+1 - BorrowedFd prefferably should be use in conjuction with OwnedFd. borrow_raw - without any guarantees of FD lifetime is problematic.
Probably the safest option would be to dup the fd - and own it within the context of this function.
Otherwise the code looks like correct but "C'ish" rust :)
Originally posted by @pawelchcki in #754 (comment)