Home | C-Bits Package Documentation | Project Page |
00001 /* ==================================================================== 00002 * The CBITS Software License, Version 1.0 00003 * 00004 * Copyright (c) 2002-2003 Bruce Lowery 00005 * All rights reserved 00006 * 00007 * Redistribution and use of this software, in source and binary forms, 00008 * with or without modification, are permitted provided that the above 00009 * copyright notice, this paragraph, and the following paragraph are 00010 * retained in each source code file. 00011 * 00012 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 00013 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 00014 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00015 * DISCLAIMED. IN NO EVENT SHALL BRUCE LOWERY OR OTHER CONTRIBUTORS 00016 * TO THE CBITS LIBRARY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00017 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00018 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 00019 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 00020 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00021 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 00022 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00023 * SUCH DAMAGE. 00024 * ==================================================================== 00025 */ 00026 #ifndef __SIGNAL_OBJECT_PTHREAD_H__ 00027 #define __SIGNAL_OBJECT_PTHREAD_H__ 00028 00029 #include <cbits/SignalObject.h> 00030 00031 #ifdef USE_PTHREADS 00032 #include <pthread.h> 00033 #endif 00034 00035 #ifdef BUILD_DLL 00036 #define EXPORT __declspec(dllexport) 00037 #else 00038 #define EXPORT 00039 #endif 00040 00041 00042 namespace cbits 00043 { 00044 00045 class EXPORT SignalObject_PTHREAD : public virtual SignalObject 00046 { 00047 public: 00051 SignalObject_PTHREAD(); 00052 00053 00057 virtual ~SignalObject_PTHREAD(); 00058 00059 00060 protected: 00061 virtual const bool impl_wait( const long msec=0 ); 00062 virtual const bool impl_notify(); 00063 virtual const bool impl_notify_all(); 00064 00065 private: 00066 00067 #ifdef USE_PTHREADS 00068 pthread_mutex_t _lock; 00069 pthread_cond_t _cvar; 00070 #endif 00071 }; 00072 00073 }; 00074 00075 #endif 00076 00077 /* 00078 * $Id: SignalObject_PTHREAD.h,v 1.2 2002/10/07 02:55:01 brulow Exp $ 00079 * 00080 * History: (Add nothing manually below) 00081 * ----------------------------------------------------------------------- 00082 * 00083 * $Log: SignalObject_PTHREAD.h,v $ 00084 * Revision 1.2 2002/10/07 02:55:01 brulow 00085 * Add SignalObject to thread pkg 00086 * 00087 * 00088 */
|
|