-
Notifications
You must be signed in to change notification settings - Fork 43
Introducing Subprocess #1
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
Merged
iCharlesHu
merged 2 commits into
swiftlang:main
from
iCharlesHu:charles/introduce-subprocess
Apr 9, 2025
Merged
Introducing Subprocess #1
iCharlesHu
merged 2 commits into
swiftlang:main
from
iCharlesHu:charles/introduce-subprocess
Apr 9, 2025
Conversation
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
Imported from: iCharlesHu/Subprocess@ec56c66
parkera
reviewed
Apr 3, 2025
itingliu
reviewed
Apr 3, 2025
README.md
Outdated
|
||
Subprocess is a cross-platform package for spawning processes in Swift. | ||
|
||
It's like [Foundation.Process](https://developer.apple.com/documentation/foundation/process), but written for Swift and build on top of structural concurrency. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From your proposal and inspiration from foundation's other packages
Suggested change
It's like [Foundation.Process](https://developer.apple.com/documentation/foundation/process), but written for Swift and build on top of structural concurrency. | |
It improves the ergonomics of `Foundation.Process` and the experience of using Swift for scripting and other areas such as server-side development, with first-class integration with `async/await` and other language features. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tony actually suggested to remove this line altogether 😅
parkera
approved these changes
Apr 9, 2025
j-hui
added a commit
to j-hui/swift-subprocess
that referenced
this pull request
Oct 3, 2025
Previous, we would encounter missing symbol errors like: "_subprocess_vm_size()", referenced from: closure swiftlang#1 () -> Swift.Int in variable initialization expression of Subprocess.(_pageSize in _EDE99368FF43462E0C75AF3C9D4D8F2D) : Swift.Int in AsyncBufferSequence.swift.o NOTE: found '__subprocess_vm_size' in process_shims.c.o, declaration possibly missing 'extern "C"' We can reproduce this by running: xcrun swift build -Xswiftc -cxx-interoperability-mode=default --build-tests Adding `extern "C"` fixes these issues.
j-hui
added a commit
to j-hui/swift-subprocess
that referenced
this pull request
Oct 3, 2025
Previous, we would encounter missing symbol errors like: "_subprocess_vm_size()", referenced from: closure swiftlang#1 () -> Swift.Int in variable initialization expression of Subprocess.(_pageSize in _EDE99368FF43462E0C75AF3C9D4D8F2D) : Swift.Int in AsyncBufferSequence.swift.o NOTE: found '__subprocess_vm_size' in process_shims.c.o, declaration possibly missing 'extern "C"' We can reproduce this by running: xcrun swift build -Xswiftc -cxx-interoperability-mode=default --build-tests Adding `extern "C"` fixes these issues. rdar://161624906
j-hui
added a commit
to j-hui/swift-subprocess
that referenced
this pull request
Oct 4, 2025
Previous, we would encounter missing symbol errors like: "_subprocess_vm_size()", referenced from: closure swiftlang#1 () -> Swift.Int in variable initialization expression of Subprocess.(_pageSize in _EDE99368FF43462E0C75AF3C9D4D8F2D) : Swift.Int in AsyncBufferSequence.swift.o NOTE: found '__subprocess_vm_size' in process_shims.c.o, declaration possibly missing 'extern "C"' We can reproduce this by running: xcrun swift build -Xswiftc -cxx-interoperability-mode=default --build-tests Adding `extern "C"` fixes these issues. rdar://161624906
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.
Imported from:
iCharlesHu/Subprocess@ec56c66
I will address the following issues separately (before we tag
0.0.1
) once this PR lands since it's big enough as it is: