X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=src%2Fthreads%2Fthreadlist.hpp;h=0d6043aa72f0bf3499f80f2e25e11e12ff640b9b;hb=9c1aaf5e763988911dc3c22c8a52e1cb31c2727c;hp=fdcdd6e5ffbb3019463e74e25d1f4981beda2bcc;hpb=735bdda890a385d1fa9cc532faadbbc96f2d1218;p=cacao.git diff --git a/src/threads/threadlist.hpp b/src/threads/threadlist.hpp index fdcdd6e5f..0d6043aa7 100644 --- a/src/threads/threadlist.hpp +++ b/src/threads/threadlist.hpp @@ -1,6 +1,6 @@ /* src/threads/threadlist.hpp - different thread-lists - Copyright (C) 2008, 2009 + Copyright (C) 1996-2011 CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO This file is part of CACAO. @@ -75,7 +75,6 @@ public: static void lock() { _mutex.lock(); } static void unlock() { _mutex.unlock(); } - // TODO make private static void add_to_active_thread_list(threadobject* t); // Thread management methods. @@ -113,6 +112,7 @@ struct ThreadListLocker { inline void ThreadList::add_to_active_thread_list(threadobject* t) { + lock(); _active_thread_list.push_back(t); // Update counter variables. @@ -121,6 +121,7 @@ inline void ThreadList::add_to_active_thread_list(threadobject* t) _number_of_active_java_threads++; _peak_of_active_java_threads = MAX(_peak_of_active_java_threads, _number_of_active_java_threads); } + unlock(); } inline void ThreadList::remove_from_active_thread_list(threadobject* t)