tentative of using std::async in gsource wrapper