Commit d310f3e9 authored by Max Kellermann's avatar Max Kellermann

system/FileDescriptor: add method IsValid()

parent 8c832f4c
......@@ -57,6 +57,16 @@
#define O_CLOEXEC 0
#endif
#ifndef _WIN32
bool
FileDescriptor::IsValid() const noexcept
{
return IsDefined() && fcntl(fd, F_GETFL) >= 0;
}
#endif
bool
FileDescriptor::Open(const char *pathname, int flags, mode_t mode) noexcept
{
......
......@@ -64,6 +64,14 @@ public:
return fd >= 0;
}
#ifndef _WIN32
/**
* Ask the kernel whether this is a valid file descriptor.
*/
gcc_pure
bool IsValid() const noexcept;
#endif
/**
* Returns the file descriptor. This may only be called if
* IsDefined() returns true.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment