-
Notifications
You must be signed in to change notification settings - Fork 76
feat: make Sapi work with ZTS builds #488
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
Conversation
Pull Request Test Coverage Report for Build 16186430696Warning: This coverage report may be inaccurate.This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.
Details
💛 - Coveralls |
Not having tests here would be fine here. It is not a core functionality and the effort is not justified. Should this break at any time we might want to consider doing it anyways, but for now I am ok with not testing. |
I actually was able to put together a very simple test for multi-threaded SAPI. I misremembered a bit about what was needed for |
Ah, the test seems to be a bit problematic. It runs fine with Possibly best to just delete that test for now, unless you know a good way to get that to clean up properly? 🤔 |
Could you extract the test case into a separate MR? That way we don't loose track of it and can check if there is a good way of cleaning up. Would be ok with merging this without the testcase being included. |
Sure, I'll do that today. |
The test has been moved to #496. I'll rebase that and continue after this lands. |
Description
This enables a
SapiModule
to work in ZTS mode. I'm usingSapiModule
directly in my case rather than going through theEmbed
type. I missed this when submitting my other PR to expandSapiBuilder
.Not sure what making
Embed
ZTS-capable would look like as it would require constructing a singleSapiModule
and reusing it so the API might need to be different or it might need to do some internalOnceCell
magic.Not entirely sure how to test this in a way that's not rather complicated. The only observable difference I'm aware of is that without the change it might randomly segfault eventually with enough parallel requests. Any ideas? 😅
I'm already using this code in my fork, so I know it works, just writing a test that's not gigantic would be a challenge. 🤔
Checklist
Check the boxes that apply (put an
x
in the brackets, like[x]
). You can also check boxes after the PR is created.❤️ Thank you for your contribution!