Updated to mime the QThread & related classes interface
This commit is contained in:
parent
ebc522f182
commit
2aa0988989
|
@ -3,9 +3,22 @@
|
|||
|
||||
|
||||
#ifdef QT_CORE_LIB
|
||||
#include <QSemaphore>
|
||||
|
||||
tyepdef QSemaphore mt::Semaphore;
|
||||
#include <QThread.h>
|
||||
#include <QMutex.h>
|
||||
#include <QSemaphore.h>
|
||||
|
||||
namespace mt{
|
||||
typedef QThread thread;
|
||||
typedef QMutex mutex;
|
||||
typedef QMutexLocker mutexlocker;
|
||||
typedef QSemaphore semaphore;
|
||||
|
||||
//cache.h, token.h
|
||||
//QAtomicInt
|
||||
|
||||
}//namespace
|
||||
|
||||
|
||||
#else
|
||||
|
||||
|
@ -18,6 +31,9 @@ tyepdef QSemaphore mt::Semaphore;
|
|||
#include "scoped_read_lock.h"
|
||||
#include "scoped_write_lock.h"
|
||||
|
||||
namespace mt{
|
||||
typedef scoped_mutex_lock mutexlocker;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // MT_MT_H
|
||||
|
|
|
@ -25,6 +25,14 @@ class scoped_mutex_lock
|
|||
this->mtx.unlock();
|
||||
}
|
||||
|
||||
//jnoguera 14-12-2011
|
||||
//method added to mime QMutexLocker
|
||||
scoped_mutex_lock(mutex * m) : mtx( *m )
|
||||
{
|
||||
this->mtx.lock();
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
mutex & mtx;
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
#include "base.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <semaphore.h>
|
||||
|
||||
namespace mt
|
||||
|
@ -54,7 +55,30 @@ class semaphore
|
|||
return (sem_trywait(&(this->s)) == 0);
|
||||
}
|
||||
|
||||
//jnoguera 11-Nov-2011
|
||||
//methods added for conforming to the QT implementation
|
||||
//jnoguera 14-12-2011
|
||||
|
||||
void release(int n=1)
|
||||
{
|
||||
if(n != 1)
|
||||
std::cout << "Error, mt::semaphore.release() not supported\n";
|
||||
sem_post(&(this->s));
|
||||
}
|
||||
|
||||
void acquire(int n=1)
|
||||
{
|
||||
if(n != 1)
|
||||
std::cout << "Error, mt::semaphore.tryAcquire() not supported\n";
|
||||
sem_wait(&(this->s));
|
||||
}
|
||||
|
||||
bool tryAcquire(int n=1)
|
||||
{
|
||||
if(n != 1)
|
||||
std::cout << "Error, mt::semaphore.tryAcquire() not supported\n";
|
||||
return (sem_trywait(&(this->s)) == 0);
|
||||
}
|
||||
|
||||
int available()
|
||||
{
|
||||
int value;
|
||||
|
@ -62,9 +86,9 @@ class semaphore
|
|||
return value;
|
||||
}
|
||||
|
||||
private:
|
||||
private:
|
||||
|
||||
sem_t s;
|
||||
sem_t s;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue