diff --git a/src/qamqpchannel.cpp b/src/qamqpchannel.cpp index f20b1ae..5cd5254 100644 --- a/src/qamqpchannel.cpp +++ b/src/qamqpchannel.cpp @@ -203,9 +203,17 @@ void QAmqpChannelPrivate::close(const QAmqpMethodFrame &frame) QAmqpMethodFrame closeOkFrame(QAmqpFrame::Channel, miCloseOk); closeOkFrame.setChannel(channelNumber); sendFrame(closeOkFrame); + + // notify everyone that the channel was closed on us. + notifyClosed(); } void QAmqpChannelPrivate::closeOk(const QAmqpMethodFrame &) +{ + notifyClosed(); +} + +void QAmqpChannelPrivate::notifyClosed() { Q_Q(QAmqpChannel); Q_EMIT q->closed(); diff --git a/src/qamqpchannel_p.h b/src/qamqpchannel_p.h index 7551950..a84e19b 100644 --- a/src/qamqpchannel_p.h +++ b/src/qamqpchannel_p.h @@ -44,6 +44,7 @@ public: void flow(bool active); void flowOk(); void close(int code, const QString &text, int classId, int methodId); + void notifyClosed(); // reimp MethodHandler virtual bool _q_method(const QAmqpMethodFrame &frame);