-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Fix breakage on Windows, which doesn't have ProcessResult.ExitStatus.signalled
.
#4299
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix breakage on Windows, which doesn't have ProcessResult.ExitStatus.signalled
.
#4299
Conversation
@swift-ci please smoke test |
Confirmed by code inspection that's the only use of |
For the future, it's also a bit suboptimal to have such platform specific APIs in |
That would be nice. I don't see how to unify that path immediately. The concepts are different (there is no signal equivalent on Windows, and an abnormal exit is a crash really - on unix, the signal may be a SIGTERM, SIGINT, SIGQUIT, SIGHUP none of which are a crash). |
I was actually thinking that the union of all possible states could be represented on all platforms. If it was Codable, then for example a unit test failure from a signal coded on a Unix box could be decoded on a Windows box with the concept of a Unix signal kept intact. |
Meanwhile, I'm preparing a cross-repo test run with a DNM branch in the Swift repo. If we must revert quickly we can do that, then I would convert this to putting it back with the fix. |
2cbec2d
to
098341e
Compare
@swift-ci please smoke test |
098341e
to
29ee652
Compare
@swift-ci please smoke test |
Windows toolchain build at swiftlang/swift#42405 succeeded, @compnerd OK to merge? |
….signalled`. (swiftlang#4299) (cherry picked from commit f9f74f1)
… improve persistence of cached compiler outputs (#4290 & #4299) (#4309) * Clean up the code and some of the API of compiling plugins, and improve persistence of cached compiler outputs (#4290) Clients now get the command line and compiler output even in the case of failure, and also when the plugin doesn't have to be recompiled because nothing changed (previously this information was lost). This is done by serializing a proper struct to JSON rather than just storing the hexadecimal representation of the configuration hash. Callers also have control over the name of the temporary directory to represent the plugin, rather than always having it be the last path component of the sources directory. (cherry picked from commit 09d77a7) * Fix breakage on Windows, which doesn't have `ProcessResult.ExitStatus.signalled`. (#4299) (cherry picked from commit f9f74f1)
This fixes a build break on Windows from #4290.