summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-05-03 05:57:37 +0000
committerwolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2009-05-03 05:57:37 +0000
commit6c764ef5df8f231824e521bf9a3e8746b06c0609 (patch)
treeb233ee8d3d4ce9cffff510abb44c3bfd64d7a930
parent1366032fd3dce9d01e8884b1bc2ab734cdcbd622 (diff)
downloadATCD-6c764ef5df8f231824e521bf9a3e8746b06c0609.tar.gz
sort rank entries in schedulability check
-rw-r--r--TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp b/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp
index a33dc390dba..011a885fd1e 100644
--- a/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp
+++ b/TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp
@@ -29,6 +29,18 @@ unsigned int consistency_level = 0;
typedef std::map <Processor, FailureAwareWCRT> WCRT_MAP;
+class TaskSorter : public std::binary_function <TASK_POSITION,
+ TASK_POSITION,
+ bool>
+{
+public:
+ bool operator () (const TASK_POSITION & p1,
+ const TASK_POSITION & p2)
+ {
+ return (extract_rank (p1.second.name) < extract_rank (p2.second.name));
+ }
+};
+
class ScheduleChecker
{
public:
@@ -65,6 +77,15 @@ public:
}
}
+ for (REPLICA_GROUPS::iterator rg_it = replica_groups_.begin ();
+ rg_it != replica_groups_.end ();
+ ++rg_it)
+ {
+ std::sort (rg_it->second.begin (),
+ rg_it->second.end (),
+ TaskSorter ());
+ }
+
// fill wcrt_map
wcrt_map_.insert (std::pair <Processor, FailureAwareWCRT> (
processor,