From 9c0d7d72d70082a54f823cd44c0ccda5da64bb6f Mon Sep 17 00:00:00 2001 From: Doug McLain Date: Mon, 2 Jun 2008 05:02:28 +0000 Subject: remove empty sigc++2 directory git-svn-id: svn://localhost/ardour2/branches/3.0@3432 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/pbd/pthread_utils.cc | 147 ---------------------------------------------- 1 file changed, 147 deletions(-) delete mode 100644 libs/pbd/pthread_utils.cc (limited to 'libs/pbd/pthread_utils.cc') diff --git a/libs/pbd/pthread_utils.cc b/libs/pbd/pthread_utils.cc deleted file mode 100644 index 3408f2c0b7..0000000000 --- a/libs/pbd/pthread_utils.cc +++ /dev/null @@ -1,147 +0,0 @@ -/* - Copyright (C) 2002 Paul Davis - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - $Id$ -*/ - -#include -#include -#include -#include - -#include - -using namespace std; - -typedef std::map ThreadMap; -static ThreadMap all_threads; -static pthread_mutex_t thread_map_lock = PTHREAD_MUTEX_INITIALIZER; - -namespace PBD { - sigc::signal ThreadCreated; - sigc::signal ThreadCreatedWithRequestSize; -} - -using namespace PBD; - -int -pthread_create_and_store (string name, pthread_t *thread, pthread_attr_t *attr, void * (*start_routine)(void *), void * arg) -{ - int ret; - - pthread_attr_t default_attr; - bool use_default_attr = (attr == NULL); - - if (use_default_attr) { - // set default stack size to sensible default for memlocking - pthread_attr_init(&default_attr); - pthread_attr_setstacksize(&default_attr, 500000); - attr = &default_attr; - } - - if ((ret = pthread_create (thread, attr, start_routine, arg)) == 0) { - std::pair newpair; - newpair.first = name; - newpair.second = *thread; - - pthread_mutex_lock (&thread_map_lock); - all_threads.insert (newpair); - - pthread_mutex_unlock (&thread_map_lock); - } - - if (use_default_attr) { - pthread_attr_destroy(&default_attr); - } - - return ret; -} - -string -pthread_name () -{ - pthread_t self = pthread_self(); - string str; - - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == self) { - str = i->first; - pthread_mutex_unlock (&thread_map_lock); - return str; - } - } - pthread_mutex_unlock (&thread_map_lock); - return "unknown"; -} - -void -pthread_kill_all (int signum) -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second != pthread_self()) { - pthread_kill (i->second, signum); - } - } - all_threads.clear(); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_cancel_all () -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second != pthread_self()) { - pthread_cancel (i->second); - } - } - all_threads.clear(); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_cancel_one (pthread_t thread) -{ - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == thread) { - all_threads.erase (i); - break; - } - } - - pthread_cancel (thread); - pthread_mutex_unlock (&thread_map_lock); -} - -void -pthread_exit_pbd (void* status) -{ - pthread_t thread = pthread_self(); - - pthread_mutex_lock (&thread_map_lock); - for (ThreadMap::iterator i = all_threads.begin(); i != all_threads.end(); ++i) { - if (i->second == thread) { - all_threads.erase (i); - break; - } - } - pthread_mutex_unlock (&thread_map_lock); - pthread_exit (status); -} -- cgit v1.2.3