Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

BasicCondition.h

Go to the documentation of this file.
00001 /*******************************************************************\ 00002 00003 Copyright (C) 2004 Joseph Coffland 00004 00005 This program is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU General Public License 00007 as published by the Free Software Foundation; either version 2 00008 of the License, or (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License 00016 along with this program; if not, write to the Free Software 00017 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 00018 02111-1307, USA. 00019 00020 For information regarding this software email 00021 jcofflan@users.sourceforge.net 00022 00023 \*******************************************************************/ 00024 #ifndef BASICCONDITION_H 00025 #define BASICCONDITION_H 00026 00027 #include <pthread.h> 00028 #include <assert.h> 00029 00030 #include "BasicLockable.h" 00031 00034 00040 class BasicCondition : public BasicLockable { 00041 pthread_cond_t cond; 00042 00043 public: 00044 BasicCondition(); 00045 ~BasicCondition(); 00046 00048 void wait() {pthread_cond_wait(&cond, &mutex);} 00049 #ifndef WIN32 00050 00051 bool timedWait(int msec); // In milliseconds 00052 #endif 00053 00054 void signal() {pthread_cond_signal(&cond);} 00056 void broadcast() {pthread_cond_broadcast(&cond);} 00057 }; 00058 00059 #endif // BASICCONDITION_H

Generated on Thu Sep 16 16:17:17 2004 for nostdinc by doxygen 1.3.8