Boost logo

Boost :

Subject: Re: [boost] review request for boost.context
From: Oliver Kowalke (k-oli_at_[hidden])
Date: 2010-07-28 02:42:54


downloadable from boost vault:
http://www.boostpro.com/vault/index.php?action=downloadfile&filename=boost.context-0.1.0.zip&directory=Concurrent%20Programming&

boost.context implements the POSIX ucontext functionality
(makecontext()/swapcontext()) and WIN32 Fiber stuff.

For performance reasons it provides assembler - 8x-10x faster than POSIX
swapcontext() (because no sys call is involved).
Please note that POSIX ucontext is now marked as deprecated by the new
POSIX standard and may not be implemented for newer platforms (for
instance on ARM makecontext()/swapcontext() is not provided by glibc).

boost.context is the basis of boost.fiber. Phil Endecott requested to
move this code from boost.fiber into a new lib in order to be reused by
libs implementing some kind of cooperative scheduling (for instance
boost.coroutine/boost.fiber).

Oliver

Am 28.07.2010 09:17, schrieb Robert Ramey:
> Oliver Kowalke wrote:
>> Hello John, hello Ronald,
>>
>> could you add boost.context to the review queue please.
>>
>> boost.context allows to switch between execution contexts. The state
>> of the context which will be left is saved and maybe resumed later.
>> It is a kind of POSIX ucontext (fallback on POSIX platforms for
>> boost.context) but provides assembler for some platforms (faster and
>> some platforms doesn't implement POSIX ucontext because it is
>> deprecaded -> ARM).
>
> where is this package to be found and how is it different from
> co-routine and maybe fiber?
>
> Robert Ramey


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk