-
Notifications
You must be signed in to change notification settings - Fork 118
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
Fixed close handles with Alpine and MUSL #376
base: develop
Are you sure you want to change the base?
Conversation
Looks good, will merge if all tests pass. |
Ok, I don't think this is correct, as it doesn't handle libc++. I'll need to add a MUSL test to CI. |
@t43rr7 That looks good to me. Could you make a PR for my branch? then I will merge it in. |
@dchansen I've opened PR to your branch. Looks like your branch's HEAD a bit behind origin develop, so there're a bit more changes that expected. Anyway, the most interesting diffs here. I've also added raw system call support which should work even on MUSL library. Please, verify this changes on your setup, because I have no possibility to do it fast (with MUSL). Thanks! UPD: |
…close_range syscall support
posix: use raw system call if ::close_range is not presented
@klemens-morgenstern please, look at the new changes |
Can't we just put a |
Do you mean something like "code below"? int close_range_wrapper(...) {
#ifdef HAS_CLOSE_RANGE
return ::close_range(...);
#elif defined(HAS_CLOSE_RANGE_SYSCALL)
return ::syscall(SYS_close_range, ...);
#endif
} I like this idea :) |
@klemens-morgenstern done in this commit Please, see PR |
@klemens-morgenstern are there any news? |
ac43b71
to
58586e4
Compare
The MUSL C library does not provide the close_range in unistd.h and Alpine linux therefore cannot compile boost::process::v2, at close_handles.ipp fails to compile.
This PR adds a check to only use close_range if we are using GLIBC.