On Thu, Jan 21, 2021 at 04:42:09PM +0100, Max Reitz wrote: > On 21.01.21 14:34, Laszlo Ersek wrote: > > On 01/21/21 10:27, Max Reitz wrote: > > SUSv3 marked ucontext functions obsolescent: > > > > https://pubs.opengroup.org/onlinepubs/000095399/functions/makecontext.html#tag_03_356_08 > > > > and they are entirely missing from SUSv4 (aka the latest POSIX): > > > > https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap03.html#tag_22_03_01_07 > > > > So you can use ucontext if you #define _XOPEN_SOURCE as 500 or 600, but > > (in theory) not if you #define it as 700. How this works out in practice > > on OSX -- i.e. how long they intend to support _XOPEN_SOURCE 600 --, I > > can't tell. > > Daniel made it sound like there was a libucontext that might be the way to > go forward. > > > I don't disagree with Daniel though; you can always bring back > > coroutine-sigaltstack from the git history, if Apple decides to drop > > ucontext. > > It may be a bit more hassle (the configure option has to be removed, then > maybe readded), but, well, yes.
ucontext on macOS may be slightly harder than i imagined. While making it compile is easy, the qtests then hang so there's something not quite right on macOS with ucontext and it basically impossible to debug in Cirrus CI I still think it is worth exploring, but it will require someone with direct access to a macOS env to debug this I think. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|