Author: rhs
Date: Tue Apr 24 17:03:51 2012
New Revision: 1329856
URL: http://svn.apache.org/viewvc?rev=1329856&view=rev
Log:
make settling clear from the work queue
Modified:
qpid/proton/trunk/proton-c/src/engine/engine.c
Modified: qpid/proton/trunk/proton-c/src/engine/engine.c
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/engine/engine.c?rev=1329856&r1=1329855&r2=1329856&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/engine/engine.c (original)
+++ qpid/proton/trunk/proton-c/src/engine/engine.c Tue Apr 24 17:03:51 2012
@@ -481,7 +481,7 @@ void pn_work_update(pn_connection_t *con
{
pn_link_t *link = pn_link(delivery);
pn_delivery_t *current = pn_current(link);
- if (delivery->updated) {
+ if (delivery->updated && !delivery->local_settled) {
pn_add_work(connection, delivery);
} else if (delivery == current) {
if (link->endpoint.type == SENDER) {
@@ -965,6 +965,7 @@ void pn_settle(pn_delivery_t *delivery)
{
delivery->local_settled = true;
pn_add_tpwork(delivery);
+ pn_work_update(delivery->link->session->connection, delivery);
}
void pn_do_error(pn_transport_t *transport, const char *condition, const char
*fmt, ...)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]