tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: getcontext()/setcontext()/makecontext() reliability?
On Thu, May 03, 2012 at 07:35:41PM -0400, Matthew Mondor wrote:
> On Thu, 3 May 2012 12:59:45 -0500
> David Young <dyoung%pobox.com@localhost> wrote:
>
> > Are getcontext()/setcontext()/makecontext() known to work reliably on
> > NetBSD? It looks to me like they are used in NetBSD/usermode and in
> > puffs, and there are tests exercising them, so I hoep that the answer is
> > "yes!"
>
> I can't confirm that it's still the case, but there's a CAVEATS section:
>
> CAVEATS
> Due to limitations in the current pthread implementation, makecontext
> should not be used in programs which link against the pthread(3) library
> (whether threads are used or not).
Right. It's also deprecated by POSIX in favor of pthread(3).
I'm looking into getcontext()/setcontext() because I think that its
overhead may be way less than POSIX threads for an I/O server with
potentially hundreds or thousands of active sessions. Not so?
In NetBSD, switching POSIX threads require, I thought, a user-kernel
round trip. I figure that's the costly part.
Dave
--
David Young
dyoung%pobox.com@localhost Urbana, IL (217) 721-9981
Home |
Main Index |
Thread Index |
Old Index