diff options
Diffstat (limited to 'dep/acelite/ace/Module.cpp')
-rw-r--r-- | dep/acelite/ace/Module.cpp | 108 |
1 files changed, 55 insertions, 53 deletions
diff --git a/dep/acelite/ace/Module.cpp b/dep/acelite/ace/Module.cpp index 286270a9b55..376ed83670d 100644 --- a/dep/acelite/ace/Module.cpp +++ b/dep/acelite/ace/Module.cpp @@ -1,4 +1,4 @@ -// $Id: Module.cpp 84068 2008-12-24 18:32:05Z shuston $ +// $Id: Module.cpp 96080 2012-08-20 09:04:14Z johnnyw $ #ifndef ACE_MODULE_CPP #define ACE_MODULE_CPP @@ -19,19 +19,19 @@ ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_ALLOC_HOOK_DEFINE(ACE_Module) -template <ACE_SYNCH_DECL> void -ACE_Module<ACE_SYNCH_USE>::dump (void) const +template <ACE_SYNCH_DECL, class TIME_POLICY> void +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::dump (void) const { #if defined (ACE_HAS_DUMP) - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::dump"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::dump"); #endif /* ACE_HAS_DUMP */ } -template <ACE_SYNCH_DECL> void -ACE_Module<ACE_SYNCH_USE>::writer (ACE_Task<ACE_SYNCH_USE> *q, +template <ACE_SYNCH_DECL, class TIME_POLICY> void +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::writer (ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *q, int flags /* = M_DELETE_WRITER */) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::writer"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::writer"); // Close and maybe delete old writer this->close_i (1, flags); @@ -49,11 +49,11 @@ ACE_Module<ACE_SYNCH_USE>::writer (ACE_Task<ACE_SYNCH_USE> *q, ACE_SET_BITS (flags_, (flags & M_DELETE_WRITER)); } -template <ACE_SYNCH_DECL> void -ACE_Module<ACE_SYNCH_USE>::reader (ACE_Task<ACE_SYNCH_USE> *q, +template <ACE_SYNCH_DECL, class TIME_POLICY> void +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::reader (ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *q, int flags /* = M_DELETE_READER */) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::reader"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::reader"); // Close and maybe delete old writer this->close_i (0, flags); @@ -73,23 +73,23 @@ ACE_Module<ACE_SYNCH_USE>::reader (ACE_Task<ACE_SYNCH_USE> *q, // Link this ACE_Module on top of ACE_Module M. -template <ACE_SYNCH_DECL> void -ACE_Module<ACE_SYNCH_USE>::link (ACE_Module<ACE_SYNCH_USE> *m) +template <ACE_SYNCH_DECL, class TIME_POLICY> void +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::link (ACE_Module<ACE_SYNCH_USE, TIME_POLICY> *m) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::link"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::link"); this->next (m); this->writer ()->next (m->writer ()); m->reader ()->next (this->reader ()); } -template <ACE_SYNCH_DECL> int -ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *module_name, - ACE_Task<ACE_SYNCH_USE> *writer_q, - ACE_Task<ACE_SYNCH_USE> *reader_q, +template <ACE_SYNCH_DECL, class TIME_POLICY> int +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::open (const ACE_TCHAR *module_name, + ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *writer_q, + ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *reader_q, void *arg, int flags /* = M_DELETE */) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::open"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::open"); this->name (module_name); this->arg_ = arg; @@ -102,27 +102,21 @@ ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *module_name, if (writer_q == 0) { - ACE_NEW_RETURN (writer_q, - ACE_Thru_Task<ACE_SYNCH_USE>, - -1); + typedef ACE_Thru_Task<ACE_SYNCH_USE, TIME_POLICY> TASK_TYPE; + ACE_NEW_NORETURN (writer_q, + TASK_TYPE); ACE_SET_BITS (flags, M_DELETE_WRITER); } if (reader_q == 0) { - ACE_NEW_RETURN (reader_q, - ACE_Thru_Task<ACE_SYNCH_USE>, - -1); + typedef ACE_Thru_Task<ACE_SYNCH_USE, TIME_POLICY> TASK_TYPE; + ACE_NEW_NORETURN (reader_q, + TASK_TYPE); ACE_SET_BITS (flags, M_DELETE_READER); } - this->reader (reader_q); - this->writer (writer_q); - - // Save the flags - this->flags_ = flags; - - // Make sure that the memory is allocated before proceding. + // Make sure that the memory is allocated before proceeding. if (writer_q == 0 || reader_q == 0) { // These calls will delete writer_q and/or reader_q, if @@ -134,6 +128,12 @@ ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *module_name, return -1; } + this->reader (reader_q); + this->writer (writer_q); + + // Save the flags + this->flags_ = flags; + // Setup back pointers (this must come last, after we've made sure // there's memory allocated here. reader_q->mod_ = this; @@ -144,10 +144,10 @@ ACE_Module<ACE_SYNCH_USE>::open (const ACE_TCHAR *module_name, // Set and get pointer to sibling ACE_Task in ACE_Module. -template <ACE_SYNCH_DECL> ACE_Task<ACE_SYNCH_USE> * -ACE_Module<ACE_SYNCH_USE>::sibling (ACE_Task<ACE_SYNCH_USE> *orig) +template <ACE_SYNCH_DECL, class TIME_POLICY> ACE_Task<ACE_SYNCH_USE, TIME_POLICY> * +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::sibling (ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *orig) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::sibling"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::sibling"); if (this->q_pair_[0] == orig) return this->q_pair_[1]; else if (this->q_pair_[1] == orig) @@ -156,36 +156,38 @@ ACE_Module<ACE_SYNCH_USE>::sibling (ACE_Task<ACE_SYNCH_USE> *orig) return 0; } -template <ACE_SYNCH_DECL> -ACE_Module<ACE_SYNCH_USE>::ACE_Module (void) - : flags_ (M_FLAGS_NOT_SET) +template <ACE_SYNCH_DECL, class TIME_POLICY> +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::ACE_Module (void) + : next_ (0) + , arg_ (0) + , flags_ (M_FLAGS_NOT_SET) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::ACE_Module"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::ACE_Module"); this->name (ACE_TEXT ("<unknown>")); // Do nothing... this->q_pair_[0] = 0; this->q_pair_[1] = 0; } -template <ACE_SYNCH_DECL> -ACE_Module<ACE_SYNCH_USE>::~ACE_Module (void) +template <ACE_SYNCH_DECL, class TIME_POLICY> +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::~ACE_Module (void) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::~ACE_Module"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::~ACE_Module"); // Only close down if we haven't already done so. if (this->reader () || this->writer ()) this->close (); } -template <ACE_SYNCH_DECL> -ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ACE_TCHAR *module_name, - ACE_Task<ACE_SYNCH_USE> *writer_q, - ACE_Task<ACE_SYNCH_USE> *reader_q, +template <ACE_SYNCH_DECL, class TIME_POLICY> +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::ACE_Module (const ACE_TCHAR *module_name, + ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *writer_q, + ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *reader_q, void *args, int flags /* = M_DELETE */) : flags_ (M_FLAGS_NOT_SET) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::ACE_Module"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::ACE_Module"); this->q_pair_[0] = 0; this->q_pair_[1] = 0; @@ -196,10 +198,10 @@ ACE_Module<ACE_SYNCH_USE>::ACE_Module (const ACE_TCHAR *module_name, ACE_TEXT ("ACE_Module"))); } -template <ACE_SYNCH_DECL> int -ACE_Module<ACE_SYNCH_USE>::close (int flags /* = M_DELETE_NONE */) +template <ACE_SYNCH_DECL, class TIME_POLICY> int +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::close (int flags /* = M_DELETE_NONE */) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::close"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::close"); int result = 0; @@ -217,18 +219,18 @@ ACE_Module<ACE_SYNCH_USE>::close (int flags /* = M_DELETE_NONE */) return result; } -template <ACE_SYNCH_DECL> int -ACE_Module<ACE_SYNCH_USE>::close_i (int which, +template <ACE_SYNCH_DECL, class TIME_POLICY> int +ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::close_i (int which, int flags) { - ACE_TRACE ("ACE_Module<ACE_SYNCH_USE>::close_i"); + ACE_TRACE ("ACE_Module<ACE_SYNCH_USE, TIME_POLICY>::close_i"); if (this->q_pair_[which] == 0) return 0; // Copy task pointer to prevent problems when ACE_Task::close // changes the task pointer - ACE_Task<ACE_SYNCH_USE> *task = this->q_pair_[which]; + ACE_Task<ACE_SYNCH_USE, TIME_POLICY> *task = this->q_pair_[which]; // Change so that close doesn't get called again from the task base. |