00001 // -*- C++ -*- 00002 00003 //========================================================================== 00004 /** 00005 * @file Null_Barrier.h 00006 * 00007 * $Id: Null_Barrier.h 69051 2005-10-28 16:14:56Z ossama $ 00008 * 00009 * Moved from Synch.h. 00010 * 00011 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> 00012 */ 00013 //========================================================================== 00014 00015 #ifndef ACE_NULL_BARRIER_H 00016 #define ACE_NULL_BARRIER_H 00017 #include /**/ "ace/pre.h" 00018 00019 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00020 00021 // All methods in this class are inline, so there is no 00022 // need to import or export on Windows. -- CAE 12/18/2003 00023 00024 /** 00025 * @class ACE_Null_Barrier 00026 * 00027 * @brief Implements "NULL barrier synchronization". 00028 */ 00029 class ACE_Null_Barrier 00030 { 00031 public: 00032 /// Initialize the barrier to synchronize <count> threads. 00033 ACE_Null_Barrier (unsigned int, 00034 const char * = 0, 00035 void * = 0) {}; 00036 00037 /// Default dtor. 00038 ~ACE_Null_Barrier (void) {}; 00039 00040 /// Block the caller until all <count> threads have called <wait> and 00041 /// then allow all the caller threads to continue in parallel. 00042 int wait (void) { return 0; }; 00043 00044 /// Dump the state of an object. 00045 void dump (void) const {}; 00046 00047 /// Declare the dynamic allocation hooks. 00048 //ACE_ALLOC_HOOK_DECLARE; 00049 00050 private: 00051 // = Prevent assignment and initialization. 00052 void operator= (const ACE_Null_Barrier &); 00053 ACE_Null_Barrier (const ACE_Null_Barrier &); 00054 }; 00055 00056 ACE_END_VERSIONED_NAMESPACE_DECL 00057 00058 #include /**/ "ace/post.h" 00059 #endif /* ACE_NULL_BARRIER_H */