Revert "Minor modernization of DynamicAny code"
[ACE_TAO.git] / TAO / tao / LF_Follower.cpp
blob9f57ef471d88a425eaf92933da631f3615b3cef4
1 #include "tao/LF_Follower.h"
2 #include "tao/Leader_Follower.h"
4 #if !defined (__ACE_INLINE__)
5 # include "tao/LF_Follower.inl"
6 #endif /* __ACE_INLINE__ */
8 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
10 TAO_LF_Follower::TAO_LF_Follower (TAO_Leader_Follower &leader_follower)
11 : leader_follower_ (leader_follower)
12 , condition_ (leader_follower.lock ())
16 TAO_LF_Follower::~TAO_LF_Follower ()
20 int
21 TAO_LF_Follower::signal ()
23 // We *must* remove ourselves from the list of followers, otherwise
24 // we could get signaled twice: to wake up as a follower and as the
25 // next leader.
26 // The follower may not be there if the reply is received while
27 // the consumer is not yet waiting for it (i.e. it send the
28 // request but has not blocked to receive the reply yet).
29 // Ignore errors.
30 (void) this->leader_follower_.remove_follower (this);
32 return this->condition_.signal ();
35 TAO_END_VERSIONED_NAMESPACE_DECL