diff options
Diffstat (limited to 'cpp/src/qpid/cluster/OutputInterceptor.cpp')
| -rw-r--r-- | cpp/src/qpid/cluster/OutputInterceptor.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/cpp/src/qpid/cluster/OutputInterceptor.cpp b/cpp/src/qpid/cluster/OutputInterceptor.cpp index 8718154d3e..4424864787 100644 --- a/cpp/src/qpid/cluster/OutputInterceptor.cpp +++ b/cpp/src/qpid/cluster/OutputInterceptor.cpp @@ -39,13 +39,18 @@ OutputInterceptor::OutputInterceptor(cluster::Connection& p, sys::ConnectionOutp void OutputInterceptor::send(framing::AMQFrame& f) { Locker l(lock); next->send(f); - sent += f.size(); + if (!parent.isCatchUp()) + sent += f.size(); } void OutputInterceptor::activateOutput() { - Locker l(lock); - moreOutput = true; - sendDoOutput(); + Locker l(lock); + if (parent.isCatchUp()) + next->activateOutput(); + else { + moreOutput = true; + sendDoOutput(); + } } // Called in write thread when the IO layer has no more data to write. |
