You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by John O'Hara <jo...@gmail.com> on 2006/12/03 01:57:44 UTC
Re: C++ commit: EventChannel
I love the use of ucontext_swap.
When was that invented? Is it Linux only?
It's awesome; threading like I always wanted it. Easy to build state
machines.
Who needs Python for continuations now :-)
Very excited to see how this works out.
John
On 29/11/06, Alan Conway <ac...@redhat.com> wrote:
>
> This is the Posix epoll implementation of the event channel design for
> asynch IO. Note the posix broker is not yet working so the build still
> defaults to APR. I'll merge the posix broker later today or tomorrow and
> switch the build to default to Posix.
>
> Cheers,
> Alan.
>
>
Re: C++ commit: EventChannel
Posted by Alan Conway <ac...@redhat.com>.
On Sun, 2006-12-03 at 21:21 -0500, Carl Trieloff wrote:
> John O'Hara wrote:
> > I love the use of ucontext_swap.
> >
> > When was that invented? Is it Linux only?
> >
My typo. It's swapcontext and friends, which manipulate a ucontext_t.
It's POSIX, not just Linux but I don't know what other OS's support it.
http://www.opengroup.org/onlinepubs/007908799/xsh/makecontext.html
Cheers,
Alan.
Re: C++ commit: EventChannel
Posted by Andrew Stitcher <as...@redhat.com>.
I have the horrible feeling I'm just about to say something very stupid,
but here goes anyway...
I can't find any google reference to "ucontext_swap" (except the design
on the qpid wiki - which makes this a bizarre googlewhack). Are we
talking about using ucontext_t and swapcontext etc?
or is ucontext_swap something that google doesn't know about?!
If so then these are standard Single Unix Spec APIs. around for quite a
while on Unix, but only much more recently implemented on Linux. Windows
has an equivalent in "fibres" (get it threads - fibres)
Andrew
Carl Trieloff wrote:
> John O'Hara wrote:
>> I love the use of ucontext_swap.
>>
>> When was that invented? Is it Linux only?
>>
>
> Unfortunately yes, well there is something more privative in bsd i
> believe. So other platforms have
> to do user-space scheduling and don't have the real-time setpoints.
> Thus the two IO modules, APR
> and posix.
>
> Carl.
Re: C++ commit: EventChannel
Posted by John O'Hara <jo...@gmail.com>.
I stand corrected.
On 04/12/06, Steven Shaw <st...@gmail.com> wrote:
>
> On 04/12/06, Carl Trieloff <cc...@redhat.com> wrote:
> > Unfortunately yes, well there is something more privative in bsd i
> > believe. So other platforms have
> > to do user-space scheduling and don't have the real-time setpoints. Thus
> > the two IO modules, APR
> > and posix.
>
> Coroutines is what you are after. See Steve Dekorte's portable
> coroutine library:
>
> http://www.dekorte.com/projects/opensource/libCoroutine/
>
> n.b. Coroutines aren't continuations.
>
> Cheers,
> Steve.
>
Re: C++ commit: EventChannel
Posted by Alan Conway <ac...@redhat.com>.
On Mon, 2006-12-04 at 02:35 +0000, Steven Shaw wrote:
> Coroutines is what you are after. See Steve Dekorte's portable
> coroutine library:
>
> http://www.dekorte.com/projects/opensource/libCoroutine/
>
Thanks, I'll take a look.
Re: C++ commit: EventChannel
Posted by Steven Shaw <st...@gmail.com>.
On 04/12/06, Carl Trieloff <cc...@redhat.com> wrote:
> Unfortunately yes, well there is something more privative in bsd i
> believe. So other platforms have
> to do user-space scheduling and don't have the real-time setpoints. Thus
> the two IO modules, APR
> and posix.
Coroutines is what you are after. See Steve Dekorte's portable
coroutine library:
http://www.dekorte.com/projects/opensource/libCoroutine/
n.b. Coroutines aren't continuations.
Cheers,
Steve.
Re: C++ commit: EventChannel
Posted by Carl Trieloff <cc...@redhat.com>.
John O'Hara wrote:
> I love the use of ucontext_swap.
>
> When was that invented? Is it Linux only?
>
Unfortunately yes, well there is something more privative in bsd i
believe. So other platforms have
to do user-space scheduling and don't have the real-time setpoints. Thus
the two IO modules, APR
and posix.
Carl.