diff --git a/paddle/operators/detail/channel.h b/paddle/framework/channel.h similarity index 94% rename from paddle/operators/detail/channel.h rename to paddle/framework/channel.h index cbfdf800401e8e92bead6f23ff8f1417e35989aa..9ba0fc5c558a85b41deb01ad57842d9c4c054e0e 100644 --- a/paddle/operators/detail/channel.h +++ b/paddle/framework/channel.h @@ -18,8 +18,7 @@ limitations under the License. */ #include namespace paddle { -namespace operators { -namespace detail { +namespace framework { template class Channel { @@ -38,7 +37,7 @@ class Channel { channel_.push_back(std::move(*channel_element)); lock.unlock(); - empty_cond_var_.notify_all(); + empty_cond_var_.notify_one(); } T* Receive() { @@ -75,7 +74,7 @@ class Channel { void NotifyAllSenders(std::unique_lock* lock) { if (IsBounded()) { lock->unlock(); - full_cond_var_.notify_all(); + full_cond_var_.notify_one(); } } @@ -84,6 +83,5 @@ class Channel { bool IsCapacityFull() const { return channel_.size() >= capacity_; } }; -} // namespace detail } // namespace operator } // namespace paddle