$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] Boost.Coroutine
From: Daniel Larimer (dlarimer_at_[hidden])
Date: 2010-03-03 03:46:54
I am attempting to use boost.coroutine; however, it is not behaving for me.  Perhaps someone could shed some light?  Here is what happens:
1 start coroutine A
2    do some work.... 
    
3    my_wait_for_value()
4		future<R> f(self);
5		callback = make_callback(f);
        
6		r = do_wait( f )
7			boost::coroutines::wait( f ) // blocks and the coroutine exits	, goto A
8			return *f;
9	        print( "here" )
10		return r;		
11  do some more work
A start coroutine B
B	do some work
C	callback_from_coroutine_A ( R ) // goto line 8
D	....
back to line 8
8			r = *f; // got the right future value
9		print("here")
10		return r;
11	????? 
After returning r on line 10, I should end up back on line 11, but instead end up on line D.
I clearly setup the future, waited, started another coroutine, set the value of the future, returned 2 levels of the stack, but the 3rd level dumped me off back in a different coroutine.  
Running on Mac OS X 10.6.  Single threaded code. 
Dan