On Sat, Jan 12, 2013 at 12:08:47PM +0000, Peter Maydell wrote: > On 12 January 2013 09:07, Brad Smith <b...@comstyle.com> wrote: > > On Fri, Jan 11, 2013 at 07:24:35PM +0100, Andreas F?rber wrote: > >> Am 11.01.2013 19:11, schrieb Paolo Bonzini: > >> > as far as I know OpenBSD and Linux/ARM were the main users of > >> > coroutine-gthread. Do you think we could dump it and rely on > >> > coroutine-sigaltstack only? > >> > >> No, I believe there is explicit code in configure to force the GThread > >> implementation on Mac OS X. > > > > That is to skip over testing for the ucontext implementation. There was > > a build issue with the sigaltstack implementation but it was fixed > > relatively recently. > > Yes. That configure skip code is actually broken because it skips the > test for the ucontext implementation but doesn't actually set the > coroutine_backend variable to anything, so we end up with (a) > a confusing message to the user saying just "coroutine backend" > rather than "coroutine backend foo" and (b) the gthreads backend > more by luck than judgement. Easiest fix here is probably to > replace the 'if darwin' check with an "#ifdef some-darwin-symbol > #error" in the makecontext test program (and incidentally we could > add a comment to the effect that at least some versions of MacOS > provide makecontext but make getcontext always return ENOTSUP; > I had to trawl the mailing list to find out why we did that :-)) > > Even if we don't drop gthreads, I think there's an argument to be > made for having sigcontext be the next backend to try after > ucontext. The ucontext support in OS X has been marked as deprecated, that seems to have popped up with 10.6. No idea if it has been removed all together since then. It was made obsolete in POSIX.1-2001.
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.