Index: source/ariba/utility/system/SystemQueue.cpp
===================================================================
--- source/ariba/utility/system/SystemQueue.cpp	(revision 7464)
+++ source/ariba/utility/system/SystemQueue.cpp	(revision 7468)
@@ -95,4 +95,11 @@
 }
 
+void SystemQueue::dropAll( const SystemEventListener* mlistener){
+#ifndef UNDERLAY_OMNET
+	directScheduler.dropAll(mlistener);
+	delayScheduler.dropAll(mlistener);
+#endif
+}
+
 bool SystemQueue::isEmpty() {
 #ifndef UNDERLAY_OMNET
@@ -192,4 +199,22 @@
 }
 
+void SystemQueue::QueueThread::dropAll( const SystemEventListener* mlistener) {
+	boost::mutex::scoped_lock lock( queueMutex );
+
+	bool deleted = false;
+	do{
+		EventQueue::iterator i = eventsQueue.begin();
+		EventQueue::iterator iend = eventsQueue.end();
+
+		for( ; i != iend; i++){
+			if((*i).getListener() == mlistener){
+				eventsQueue.erase(i);
+				deleted = true;
+				break;
+			}
+		}
+	}while(deleted);
+}
+
 void SystemQueue::QueueThread::threadFunc( QueueThread* obj ) {
 
Index: source/ariba/utility/system/SystemQueue.h
===================================================================
--- source/ariba/utility/system/SystemQueue.h	(revision 7464)
+++ source/ariba/utility/system/SystemQueue.h	(revision 7468)
@@ -125,4 +125,9 @@
 
 	/**
+	 * Drop all queued events for that listener
+	 */
+	void dropAll( const SystemEventListener* mlistener);
+
+	/**
 	 * Check wheter this queue has items or not.
 	 *
@@ -182,4 +187,5 @@
 		void enter();
 		void leave();
+		void dropAll( const SystemEventListener* mlistener);
 
 	protected:
Index: source/ariba/utility/system/Timer.cpp
===================================================================
--- source/ariba/utility/system/Timer.cpp	(revision 7464)
+++ source/ariba/utility/system/Timer.cpp	(revision 7468)
@@ -100,4 +100,5 @@
 	running = false;
 	reset(); // cause the sleep to abort
+	//SystemQueue::instance().dropAll(this);
 }
 
Index: source/ariba/utility/system/Timer.h
===================================================================
--- source/ariba/utility/system/Timer.h	(revision 7464)
+++ source/ariba/utility/system/Timer.h	(revision 7468)
@@ -40,4 +40,5 @@
 #define __TIMER_H
 
+#include <stdint.h>
 #include "ariba/utility/system/SystemEventListener.h"
 #include "ariba/utility/system/SystemQueue.h"
