Conversation
On mingw the package failed to compile, so it was unavailable together with everything depending on it. Guard what native Windows lacks and use its equivalent where there is one: - child processes need SIGCHLD and waitpid; the new IO_HAVE_SIGCHLD covers the bookkeeping, the handlers and IO_WaitPid - IO_realpath uses _fullpath, IO_mkdir uses _mkdir (which has no mode argument), IO_setenv and IO_unsetenv use _putenv_s - IO_pipe and IO_fcntl are guarded by new configure checks, as is st_blksize and st_blocks in the record IO_stat returns - environ is spelled _environ 38 of the 72 functions remain, enough for files, directories, streams and pickling. Sockets are absent for now; they need Winsock. Co-Authored-By: Claude Opus 5 <[email protected]>
The C part registers 56 of its functions only when configure finds the system call behind them, so on native Windows about half are absent. Reading the GAP code then warns about unbound globals, which also lands in the output of packages testing against it, and calling one fails with a message that says nothing about why. Bind whichever are missing to a function reporting that, before any code mentioning them is read. On a platform providing all of them, as POSIX does, nothing is bound and nothing changes. Co-Authored-By: Claude Opus 5 <[email protected]>
The condition also tested defined(SIGCHLD), at a point before <signal.h> is included. Whether SIGCHLD is visible there differs between platforms: on macOS another header happens to provide it, on Linux nothing does, so the child process handling was compiled out and IO_WaitPid and IO_IgnorePid became unavailable. Co-Authored-By: Claude Opus 5 <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On mingw the package failed to compile, so it was unavailable together with everything depending on it. Guard what native Windows lacks and use its equivalent where there is one:
38 of the 72 functions remain, enough for files, directories, streams and pickling. Sockets are absent for now; they need Winsock.
Co-Authored-By: Claude Opus 5 [email protected]