From 0dacd8bfdac8669613baefd97e0cc2c4e48eed40 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Mon, 11 Dec 2006 19:14:38 +0100 Subject: [PATCH] do not use internal iterator void *. fix valgrind warnings --- src/simulator/scheduler-map.cc | 30 ++++++------------------------ src/simulator/scheduler-map.h | 3 --- 2 files changed, 6 insertions(+), 27 deletions(-) diff --git a/src/simulator/scheduler-map.cc b/src/simulator/scheduler-map.cc index 76b08f293..9d7e799bd 100644 --- a/src/simulator/scheduler-map.cc +++ b/src/simulator/scheduler-map.cc @@ -44,28 +44,11 @@ SchedulerMap::~SchedulerMap () {} -void -SchedulerMap::StoreInEvent (EventImpl *ev, EventMapI i) const -{ - void *tag; - memcpy (&(tag), &i, sizeof (tag)); - ev->SetInternalIterator (tag); -} -SchedulerMap::EventMapI -SchedulerMap::GetFromEvent (EventImpl *ev) const -{ - EventMapI i; - void *tag = ev->GetInternalIterator (); - memcpy (&i, &(tag), sizeof (i)); - return i; -} - EventId SchedulerMap::RealInsert (EventImpl *event, Scheduler::EventKey key) { std::pair result = m_list.insert (std::make_pair (key, event)); assert (result.second); - StoreInEvent (event, result.first); return EventId (event, key.m_ns, key.m_uid); } @@ -98,19 +81,18 @@ SchedulerMap::RealRemoveNext (void) EventImpl * SchedulerMap::RealRemove (EventId id, Scheduler::EventKey *key) { - EventMapI i = GetFromEvent (id.GetEventImpl ()); - *key = i->first; + key->m_ns = id.GetNs (); + key->m_uid = id.GetUid (); + EventMapI i = m_list.find (*key); + EventImpl *retval = i->second; m_list.erase (i); - return i->second; + return retval; } bool SchedulerMap::RealIsValid (EventId id) { - EventMapI i = GetFromEvent (id.GetEventImpl ()); - Scheduler::EventKey key = i->first; - return (key.m_ns == id.GetNs () && - key.m_uid == id.GetUid ()); + return true; } diff --git a/src/simulator/scheduler-map.h b/src/simulator/scheduler-map.h index 8b277b990..72d07cb60 100644 --- a/src/simulator/scheduler-map.h +++ b/src/simulator/scheduler-map.h @@ -49,9 +49,6 @@ private: typedef std::map::iterator EventMapI; typedef std::map::const_iterator EventMapCI; - void StoreInEvent (EventImpl *ev, EventMapI i) const; - SchedulerMap::EventMapI GetFromEvent (EventImpl *ev) const; - EventMap m_list; uint32_t m_uid; };