The task class uses a sync object on behalf of another boolean.
bool_t _is_executing = false ;
mutable motor::concurrent::sync_object_t _so ;
I think this can be merged together.
A caveat might be, if the task has not been executed yet, the signal will block the function
void_t wait_until_executed( void_t )
So a conditional function has been added to the signal object in order to wait based on the condition:
sync_object::wait( bool_t const b )
So if the task has not been exetuced, the wait will return, because the task is not running. the sync object is used only in conjunction with the bool anyway.
Lately, we upped to C++20. Maybe there is a object that could be used as a replacement..
The task class uses a sync object on behalf of another boolean.
I think this can be merged together.
A caveat might be, if the task has not been executed yet, the signal will block the function
void_t wait_until_executed( void_t )So a conditional function has been added to the signal object in order to wait based on the condition:
sync_object::wait( bool_t const b )So if the task has not been exetuced, the wait will return, because the task is not running. the sync object is used only in conjunction with the bool anyway.
Lately, we upped to C++20. Maybe there is a object that could be used as a replacement..