io/FileDescriptor: add method SetBinaryMode()

This commit is contained in:
Max Kellermann 2021-03-08 16:36:08 +01:00
parent eff50b263a
commit d61341c0e3
2 changed files with 12 additions and 1 deletions

View File

@ -172,7 +172,15 @@ FileDescriptor::CreatePipe(FileDescriptor &r, FileDescriptor &w) noexcept
#endif #endif
} }
#ifndef _WIN32 #ifdef _WIN32
void
FileDescriptor::SetBinaryMode() noexcept
{
_setmode(fd, _O_BINARY);
}
#else // !_WIN32
bool bool
FileDescriptor::CreatePipeNonBlock(FileDescriptor &r, FileDescriptor::CreatePipeNonBlock(FileDescriptor &r,

View File

@ -148,10 +148,13 @@ public:
#ifdef _WIN32 #ifdef _WIN32
void EnableCloseOnExec() noexcept {} void EnableCloseOnExec() noexcept {}
void DisableCloseOnExec() noexcept {} void DisableCloseOnExec() noexcept {}
void SetBinaryMode() noexcept;
#else #else
static bool CreatePipeNonBlock(FileDescriptor &r, static bool CreatePipeNonBlock(FileDescriptor &r,
FileDescriptor &w) noexcept; FileDescriptor &w) noexcept;
void SetBinaryMode() noexcept {}
/** /**
* Enable non-blocking mode on this file descriptor. * Enable non-blocking mode on this file descriptor.
*/ */