Repository navigation
feat(posix): implement mkstemp and isatty - #1613
Conversation
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
|
On Windows the patched The cause is the new call to Tested fix: export a wrapper Windows 11, Radeon 860M, MinGW-w64 GCC 15.2.0, Release, Tested with AI assistance (Claude Code). |
f3ea265 to
31b26d7
Compare
31b26d7 to
f9be276
Compare
|
Checked the diff, the Rebased onto current |
What
Implement
mkstempandisattyinlibScePosixForWebKitfor the homebrew imports reported in #1578.mkstempuses the guest path resolver and existingopenimplementation, creates files exclusively with read/write access and mode 0600, and handles collisions without truncating existing files. Its trailing-X and fixed-name behavior follows FreeBSD 9.isattydistinguishes terminals, non-terminal files/pipes/sockets (ENOTTY), and invalid descriptors (EBADF), following FreeBSD's terminal check. Windows checks console handles and handles invalid CRT descriptors without aborting.The socket check calls
GuestSocketIsOpen_nid_no_patch, a C host helper whose export survives NID patching. This fixes the patched module load failure (Windows error 127) reported in the review. Internal socket callers keep using the existing registry implementation.Refs #1578. No dependency on another PR. Console verification and existing Windows file-permission limits are recorded in TechnicalDebt.
Tested
Windows x64, Release, WinLibs MinGW-w64 GCC 15.2.0 UCRT POSIX:
.prxlibraries loaded with zero failures using the standalone loader from test(libs): load every patched library with its imports bound #1828; the loader is statically linked and starts without unpatched guest libraries loaded.git diff --checkpassed.git range-diffconfirms the original feature commit is unchanged after rebasing.31b26d7d: Windows and Linux builds and CTest passed, with 489 registered tests / 203 skipped on Windows and 498 / 25 skipped on Linux; zero failures. Conventions passed.NUL. Terminal tests run when a console or pseudo-terminal is available.Checklist
main(f1451396); no other open PR implements the same functions