summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-03-02 02:39:29 +0000
committerlevine <levine@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-03-02 02:39:29 +0000
commitf90955fdd26b8afd28f5c674550927331b0bc7fa (patch)
tree96f30e5041e06a002c2f6cda69dbd226afd45392
parenta6b8812a9b1e817a7f39cde6b01c01f0e480428b (diff)
downloadATCD-f90955fdd26b8afd28f5c674550927331b0bc7fa.tar.gz
added WTHREADS support
-rw-r--r--ace/Sched_Params.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/ace/Sched_Params.cpp b/ace/Sched_Params.cpp
index 1b13a92f435..6524b8ef5e9 100644
--- a/ace/Sched_Params.cpp
+++ b/ace/Sched_Params.cpp
@@ -124,6 +124,25 @@ ACE_Sched_Params::next_priority (const Policy policy, const int priority)
ACE_UNUSED_ARG (policy);
return priority > priority_max (policy) ? priority - 1
: priority_max (policy);
+#elif defined (ACE_HAS_WTHREADS)
+ ACE_UNUSED_ARG (policy);
+ switch (priority)
+ {
+ case THREAD_PRIORITY_IDLE:
+ return THREAD_PRIORITY_LOWEST;
+ case THREAD_PRIORITY_LOWEST:
+ return THREAD_PRIORITY_BELOW_NORMAL;
+ case THREAD_PRIORITY_BELOW_NORMAL:
+ return THREAD_PRIORITY_NORMAL;
+ case THREAD_PRIORITY_NORMAL:
+ return THREAD_PRIORITY_ABOVE_NORMAL;
+ case THREAD_PRIORITY_ABOVE_NORMAL:
+ return THREAD_PRIORITY_HIGHEST;
+ case THREAD_PRIORITY_HIGHEST:
+ return THREAD_PRIORITY_TIME_CRITICAL;
+ case THREAD_PRIORITY_TIME_CRITICAL:
+ return THREAD_PRIORITY_TIME_CRITICAL;
+ }
#elif defined (ACE_HAS_THREADS)
const int max = priority_max (policy);
return priority < max ? priority + 1 : max;
@@ -140,6 +159,25 @@ ACE_Sched_Params::previous_priority (const Policy policy,
ACE_UNUSED_ARG (policy);
return priority < priority_min (policy) ? priority + 1
: priority_min (policy);
+#elif defined (ACE_HAS_WTHREADS)
+ ACE_UNUSED_ARG (policy);
+ switch (priority)
+ {
+ case THREAD_PRIORITY_IDLE:
+ return THREAD_PRIORITY_IDLE;
+ case THREAD_PRIORITY_IDLE:
+ return THREAD_PRIORITY_BELOW_NORMAL;
+ case THREAD_PRIORITY_BELOW_NORMAL:
+ return THREAD_PRIORITY_LOWEST;
+ case THREAD_PRIORITY_NORMAL:
+ return THREAD_PRIORITY_BELOW_NORMAL;
+ case THREAD_PRIORITY_ABOVE_NORMAL:
+ return THREAD_PRIORITY_NORMAL;
+ case THREAD_PRIORITY_HIGHEST:
+ return THREAD_PRIORITY_ABOVE_NORMAL;
+ case THREAD_PRIORITY_TIME_CRITICAL:
+ return THREAD_PRIORITY_HIGHEST;
+ }
#elif defined (ACE_HAS_THREADS)
const int min = priority_min (policy);
return priority > min ? priority - 1 : min;