When I try to build the following simple test program in 32-bit Cygwin with GCC version 4.9.2, I get an error saying:
error: ‘notify_all_at_thread_exit’ is not a member of ‘std’
This makes me think that this specific method hasn't been ported to Cygwin. Does anyone know if I am either doing something wrong or if I can determine that this indeed is missing from Cygwin?
Build line:
/usr/bin/c++.exe -std=gnu++11 -o NotifyAllAtThreadExitTest.cc.o -c NotifyAllAtThreadExitTest.cc
Code snippet:
#include <mutex>
#include <thread>
#include <condition_variable>
std::mutex m;
std::condition_variable cv;
bool ready = false;
void thread_func()
{
std::unique_lock<std::mutex> lk(m);
ready = true;
std::notify_all_at_thread_exit(cv, std::move(lk));
}
int test()
{
std::thread t(thread_func);
t.detach();
std::unique_lock<std::mutex> lk(m);
while(!ready) {
cv.wait(lk);
}
}
Aucun commentaire:
Enregistrer un commentaire