Thread OS priority

This commit is contained in:
Aleksandar Fabijanic
2008-04-15 23:25:19 +00:00
parent 8bc8552616
commit 32c8d371e9
5 changed files with 136 additions and 0 deletions

View File

@@ -85,6 +85,10 @@ public:
void setPriorityImpl(int prio);
int getPriorityImpl() const;
void setOSPriorityImpl(int prio);
int getOSPriorityImpl() const;
static int getMinOSPriorityImpl();
static int getMaxOSPriorityImpl();
void setStackSizeImpl(std::size_t size);
std::size_t getStackSizeImpl() const;
void startImpl(Runnable& target);
@@ -101,6 +105,7 @@ protected:
static void* runnableEntry(void* pThread);
static void* functionEntry(void* pThread);
static int mapPrio(int prio);
static int reverseMapPrio(int osPrio);
private:
struct ThreadData: public RefCountedObject
@@ -119,6 +124,7 @@ private:
AutoPtr<CallbackData> pCallbackTarget;
pthread_t thread;
int prio;
int osPrio;
Event done;
std::size_t stackSize;
};
@@ -144,6 +150,12 @@ inline int ThreadImpl::getPriorityImpl() const
}
inline int ThreadImpl::getOSPriorityImpl() const
{
return _pData->osPrio;
}
inline void ThreadImpl::sleepImpl(long milliseconds)
{
#if defined(__VMS) || defined(__digital__)