qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Thread safety of coroutine-sigaltstack


From: Daniel P . Berrangé
Subject: Re: Thread safety of coroutine-sigaltstack
Date: Thu, 21 Jan 2021 16:04:43 +0000
User-agent: Mutt/1.14.6 (2020-07-11)

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 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]