-
Notifications
You must be signed in to change notification settings - Fork 380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
some (bundled) minor changes (take 2) #176
Changes from 11 commits
3bff6f8
6cec721
502c6fc
aeb68c0
de13b79
7acfc9e
6d66024
b1d83ea
6dba799
c717bec
733efc7
4155a8c
9ca4697
2609c79
1280574
b695f27
39aeb7f
5a757dd
a255354
dee50e8
219ae58
7ad5360
d5fbc0d
8dbd724
53bbf4b
4bb4047
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -23,12 +23,16 @@ | |
#if !defined (ACE_HAS_THREADS) | ||
# include "ace/Null_Condition.h" | ||
#else /* ACE_HAS_THREADS */ | ||
// ACE platform supports some form of threading. | ||
|
||
#include "ace/Recursive_Thread_Mutex.h" | ||
#include "ace/Condition_Attributes.h" | ||
#include "ace/Condition_T.h" | ||
|
||
ACE_BEGIN_VERSIONED_NAMESPACE_DECL | ||
|
||
class ACE_Time_Value; | ||
|
||
/** | ||
* @brief ACE_Condition template specialization written using | ||
* @a ACE_Recursive_Thread_Mutex. This allows threads to block until | ||
|
@@ -86,6 +90,9 @@ class ACE_Export ACE_Condition<ACE_Recursive_Thread_Mutex> | |
/// Dump the state of an object. | ||
void dump (void) const; | ||
|
||
/// Declare the dynamic allocation hooks. | ||
ACE_ALLOC_HOOK_DECLARE; | ||
|
||
private: | ||
|
||
// = Prevent assignment and copying. | ||
|
@@ -101,11 +108,22 @@ class ACE_Export ACE_Condition<ACE_Recursive_Thread_Mutex> | |
ACE_Recursive_Thread_Mutex &mutex_; | ||
|
||
}; | ||
// *NOTE*: prevent implicit instantiations by includees to relieve the linker | ||
#if defined (__GNUG__) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't this have a version check on g++ version, maybe add a new ACE_HAS... macro because probably this is then needed on more places? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, please see commit 4155a8c |
||
// g++ (5.2.1) does not support attributes on explicit template instantiations | ||
extern template class ACE_Condition<ACE_Recursive_Thread_Mutex>; | ||
#else | ||
extern template ACE_Export class ACE_Condition<ACE_Recursive_Thread_Mutex>; | ||
#endif /* __GNUG__ */ | ||
|
||
typedef ACE_Condition<ACE_Recursive_Thread_Mutex> ACE_Condition_Recursive_Thread_Mutex; | ||
|
||
ACE_END_VERSIONED_NAMESPACE_DECL | ||
|
||
#if defined (__ACE_INLINE__) | ||
#include "ace/Condition_Recursive_Thread_Mutex.inl" | ||
#endif /* __ACE_INLINE__ */ | ||
|
||
#endif /* !ACE_HAS_THREADS */ | ||
|
||
#include /**/ "ace/post.h" | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
// -*- C++ -*- | ||
ACE_BEGIN_VERSIONED_NAMESPACE_DECL | ||
|
||
ACE_INLINE int | ||
ACE_Condition<ACE_Recursive_Thread_Mutex>::remove (void) | ||
{ | ||
return ACE_OS::cond_destroy (&this->cond_); | ||
} | ||
|
||
ACE_INLINE ACE_Recursive_Thread_Mutex & | ||
ACE_Condition<ACE_Recursive_Thread_Mutex>::mutex (void) | ||
{ | ||
return this->mutex_; | ||
} | ||
|
||
ACE_INLINE int | ||
ACE_Condition<ACE_Recursive_Thread_Mutex>::signal (void) | ||
{ | ||
return ACE_OS::cond_signal (&this->cond_); | ||
} | ||
|
||
ACE_INLINE int | ||
ACE_Condition<ACE_Recursive_Thread_Mutex>::broadcast (void) | ||
{ | ||
return ACE_OS::cond_broadcast (&this->cond_); | ||
} | ||
|
||
ACE_END_VERSIONED_NAMESPACE_DECL |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,6 +3,10 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, | |
avoids = ace_for_tao | ||
sharedname = ACE | ||
dynamicflags += ACE_BUILD_DLL | ||
// specific(prop:microsoft) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why comment this out? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. because it doesn't work yet. Haven't figured out why, can you test and advise ? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please remove it from the merge then, we want to keep a clean code base There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, reverted in commit 1280574 |
||
// compile_flags -= /EHsc | ||
// compile_flags += /EHa | ||
// } | ||
|
||
Source_Files(ACE_COMPONENTS) { | ||
ACE.cpp | ||
|
@@ -382,7 +386,9 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, | |
|
||
Inline_Files { | ||
Bound_Ptr.inl | ||
Condition_Recursive_Thread_Mutex.inl | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Probably similar changes have to be made in ace_for_tao.mpc There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, I noticed there are other files missing in the lists. I don't really want to repair the ACE project configurations at this time, partly because I don't yet understand very much about MPC |
||
Condition_T.inl | ||
Condition_Thread_Mutex.inl | ||
Guard_T.inl | ||
Handle_Gobbler.inl | ||
Intrusive_Auto_Ptr.inl | ||
|
@@ -392,6 +398,7 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, | |
Reverse_Lock_T.inl | ||
TSS_T.inl | ||
Time_Value_T.inl | ||
Timer_Queue_Adapters.inl | ||
} | ||
|
||
Header_Files { | ||
|
@@ -404,7 +411,9 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, | |
Codeset_Symbols.h | ||
CORBA_macros.h | ||
Codeset_Symbols.h | ||
Condition_Recursive_Thread_Mutex.h | ||
Condition_T.h | ||
Condition_Thread_Mutex.h | ||
Countdown_Time.h | ||
Default_Constants.h | ||
Event_Base.h | ||
|
@@ -459,6 +468,7 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, | |
Timer_Heap.h | ||
Timer_List.h | ||
Timer_Queue.h | ||
Timer_Queue_Adapters.h | ||
Timer_Queuefwd.h | ||
Timer_Wheel.h | ||
Truncate.h | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this one needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a 'forward declaration'; the header does not
#include ace/Time_Value.h
, even though it is referencingACE_Time_Value*
. Depending on what the other#include
s pull in, this may not be needed (but the header is more consistent this way). As I was changing the header, I cleaned it up a little bit.