diff options
author | Piotr Krysik <perper@o2.pl> | 2009-06-30 23:03:33 +0200 |
---|---|---|
committer | Piotr Krysik <perper@o2.pl> | 2009-06-30 23:03:33 +0200 |
commit | 8d2bc49fb9e0c9a5fbd75aa3cad207608e72bf99 (patch) | |
tree | a32fdcd2e8e2b16cc725045d049ed94b3f675956 /src/lib/decoder/openbtsstuff/Threads.cpp | |
parent | 8f97a59b21fd8d3ecd111ee770932d852e625d52 (diff) |
moved gsm-receiver into directory - preparation to move to airprobe
Diffstat (limited to 'src/lib/decoder/openbtsstuff/Threads.cpp')
-rw-r--r-- | src/lib/decoder/openbtsstuff/Threads.cpp | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/src/lib/decoder/openbtsstuff/Threads.cpp b/src/lib/decoder/openbtsstuff/Threads.cpp deleted file mode 100644 index b97f3fe..0000000 --- a/src/lib/decoder/openbtsstuff/Threads.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* -* Copyright 2008 Free Software Foundation, Inc. -* -* This software is distributed under the terms of the GNU Public License. -* See the COPYING file in the main directory for details. - - 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 3 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, see <http://www.gnu.org/licenses/>. - -*/ - - - - -#include "Threads.h" -#include "Timeval.h" - - -using namespace std; - - - - -Mutex gStreamLock; ///< Global lock to control access to cout and cerr. - -void lockCout() -{ - gStreamLock.lock(); - Timeval entryTime; - cout << entryTime << " " << pthread_self() << ": "; -} - - -void unlockCout() -{ - cout << dec << endl << flush; - gStreamLock.unlock(); -} - - -void lockCerr() -{ - gStreamLock.lock(); - Timeval entryTime; - cerr << entryTime << " " << pthread_self() << ": "; -} - -void unlockCerr() -{ - cerr << dec << endl << flush; - gStreamLock.unlock(); -} - - - - - - - -Mutex::Mutex() -{ - assert(!pthread_mutexattr_init(&mAttribs)); - assert(!pthread_mutexattr_settype(&mAttribs,PTHREAD_MUTEX_RECURSIVE)); - assert(!pthread_mutex_init(&mMutex,&mAttribs)); -} - - -Mutex::~Mutex() -{ - pthread_mutex_destroy(&mMutex); - assert(!pthread_mutexattr_destroy(&mAttribs)); -} - - - - -/** Block for the signal up to the cancellation timeout. */ -void Signal::wait(Mutex& wMutex, unsigned timeout) const -{ - struct timespec waitTime = Timeval(timeout).timespec(); - // FIXME -- With -O3 optimzation in OS X this doesn't block. See bug #320. - pthread_cond_timedwait(&mSignal,&wMutex.mMutex,&waitTime); -} - - -void Thread::start(void *(*task)(void*), void *arg) -{ - assert(mThread==((pthread_t)0)); - assert(!pthread_attr_init(&mAttrib)); - assert(!pthread_attr_setstacksize(&mAttrib, mStackSize)); - assert(!pthread_create(&mThread, &mAttrib, task, arg)); -} - - - -// vim: ts=4 sw=4 |