diff options
author | wolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-05-03 05:57:37 +0000 |
---|---|---|
committer | wolff1 <wolff1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-05-03 05:57:37 +0000 |
commit | 6c764ef5df8f231824e521bf9a3e8746b06c0609 (patch) | |
tree | b233ee8d3d4ce9cffff510abb44c3bfd64d7a930 | |
parent | 1366032fd3dce9d01e8884b1bc2ab734cdcbd622 (diff) | |
download | ATCD-6c764ef5df8f231824e521bf9a3e8746b06c0609.tar.gz |
sort rank entries in schedulability check
-rw-r--r-- | TAO/orbsvcs/examples/FaultTolerance/FLARe/DeCoRAM/src/schedulability_check.cpp | 21 |
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, |