X-Git-Url: https://git.pterodactylus.net/?p=fms.git;a=blobdiff_plain;f=src%2Fpthreadwrapper%2Fthread.cpp;h=d08cf332685d09a22311cd86607731009ab6cc11;hp=7a4e972906769a880af6886506bca0e9d1064ee4;hb=f60495a029c54358f82956482fe203fe2b7b5b23;hpb=b9c3763a932cebaa015a27fe111017f6f34dfbaa diff --git a/src/pthreadwrapper/thread.cpp b/src/pthreadwrapper/thread.cpp index 7a4e972..d08cf33 100644 --- a/src/pthreadwrapper/thread.cpp +++ b/src/pthreadwrapper/thread.cpp @@ -9,6 +9,26 @@ namespace PThread { +void Sleep(const long ms) +{ + pthread_cond_t c; + pthread_mutex_t m; + timespec t; + timeb tb; + + pthread_mutex_init(&m,NULL); + pthread_cond_init(&c,NULL); + + ftime(&tb); + + t.tv_sec=tb.time+(ms/1000); + t.tv_nsec=((1000000L)*(long)tb.millitm)+((1000000L)*(ms%1000)); + + pthread_mutex_lock(&m); + pthread_cond_timedwait(&c,&m,&t); + pthread_mutex_unlock(&m); +} + Thread::Thread() { m_running=false;