forked from Kistler-Group/sdbus-cpp
* chore: Use std::exchange in UnixFd This was suggested in code review for #376 . * fix: Protect against UnixFd self-assignment While self-assignment is rare, it is expected to be safe. Add a check to prevent putting the object in an invalid state. * fix: Improve hygiene around dup system call - Don't try to call dup on a negative value. - Check dup return code and throw if it fails, rather than returning an empty UnixFd object. * chore: Move UnixFd::close to Types.cpp Minor convenience for applications: unistd.h doesn't have to be included in the public header. --------- Co-authored-by: David Reiss <dreiss@meta.com>