mirror of
https://github.com/boostorg/coroutine2.git
synced 2025-05-10 07:34:03 +00:00
call resume() in ctor of pull_coroutine
This commit is contained in:
parent
bde8dc0cc4
commit
c7210733db
@ -109,9 +109,7 @@ pull_coroutine< T >::control_block::control_block( context::preallocated palloc,
|
|||||||
bvalid{ false },
|
bvalid{ false },
|
||||||
storage{} {
|
storage{} {
|
||||||
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
||||||
auto result = ctx( nullptr);
|
resume();
|
||||||
ctx = std::move( std::get< 0 >( result) );
|
|
||||||
set( std::get< 1 >( result) );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template< typename T >
|
template< typename T >
|
||||||
@ -260,9 +258,7 @@ pull_coroutine< T & >::control_block::control_block( context::preallocated pallo
|
|||||||
except{},
|
except{},
|
||||||
t{ nullptr } {
|
t{ nullptr } {
|
||||||
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
||||||
auto result = ctx( nullptr);
|
resume();
|
||||||
ctx = std::move( std::get< 0 >( result) );
|
|
||||||
t = std::get< 1 >( result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template< typename T >
|
template< typename T >
|
||||||
@ -382,7 +378,7 @@ pull_coroutine< void >::control_block::control_block( context::preallocated pall
|
|||||||
state{ state_t::unwind },
|
state{ state_t::unwind },
|
||||||
except{} {
|
except{} {
|
||||||
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
// enter coroutine-fn in order to have first value available after ctor (of `*this`) returns
|
||||||
ctx = ctx();
|
resume();
|
||||||
}
|
}
|
||||||
|
|
||||||
inline
|
inline
|
||||||
|
Loading…
x
Reference in New Issue
Block a user