use LifoSem instead of sem_t for ManualExecutor