1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-09 03:56:01 +01:00

Merge pull request #14162 from NixOS/fix-windows-build

Don't build getPtsName() on Windows
This commit is contained in:
Eelco Dolstra 2025-10-06 14:55:39 +02:00 committed by GitHub
commit 35b3557fe4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -179,9 +179,10 @@ std::pair<unsigned short, unsigned short> getWindowSize()
return *windowSize.lock(); return *windowSize.lock();
} }
#ifndef _WIN32
std::string getPtsName(int fd) std::string getPtsName(int fd)
{ {
#ifdef __APPLE__ # ifdef __APPLE__
static std::mutex ptsnameMutex; static std::mutex ptsnameMutex;
// macOS doesn't have ptsname_r, use mutex-protected ptsname // macOS doesn't have ptsname_r, use mutex-protected ptsname
std::lock_guard<std::mutex> lock(ptsnameMutex); std::lock_guard<std::mutex> lock(ptsnameMutex);
@ -190,7 +191,7 @@ std::string getPtsName(int fd)
throw SysError("getting pseudoterminal slave name"); throw SysError("getting pseudoterminal slave name");
} }
return name; return name;
#else # else
// Use thread-safe ptsname_r on platforms that support it // Use thread-safe ptsname_r on platforms that support it
// PTY names are typically short: // PTY names are typically short:
// - Linux: /dev/pts/N (where N is usually < 1000) // - Linux: /dev/pts/N (where N is usually < 1000)
@ -201,7 +202,8 @@ std::string getPtsName(int fd)
throw SysError("getting pseudoterminal slave name"); throw SysError("getting pseudoterminal slave name");
} }
return buf; return buf;
#endif # endif
} }
#endif
} // namespace nix } // namespace nix