You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rh...@apache.org on 2014/12/28 15:05:35 UTC

[2/2] qpid-proton git commit: PROTON-784: remove settled deliveries from the delivery map to prevent buildup

PROTON-784: remove settled deliveries from the delivery map to prevent buildup


Project: http://git-wip-us.apache.org/repos/asf/qpid-proton/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-proton/commit/ae8e0fd3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-proton/tree/ae8e0fd3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-proton/diff/ae8e0fd3

Branch: refs/heads/master
Commit: ae8e0fd32573004dfa0520d2a9c835d920f90e28
Parents: f648c94
Author: Rafael Schloming <rh...@alum.mit.edu>
Authored: Sun Dec 28 08:56:49 2014 -0500
Committer: Rafael Schloming <rh...@alum.mit.edu>
Committed: Sun Dec 28 08:56:49 2014 -0500

----------------------------------------------------------------------
 proton-c/src/transport/transport.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ae8e0fd3/proton-c/src/transport/transport.c
----------------------------------------------------------------------
diff --git a/proton-c/src/transport/transport.c b/proton-c/src/transport/transport.c
index ce8c7e3..a434b48 100644
--- a/proton-c/src/transport/transport.c
+++ b/proton-c/src/transport/transport.c
@@ -76,10 +76,10 @@ pn_delivery_state_t *pn_delivery_map_push(pn_delivery_map_t *db, pn_delivery_t *
 void pn_delivery_map_del(pn_delivery_map_t *db, pn_delivery_t *delivery)
 {
   if (delivery->state.init) {
+    delivery->state.init = false;
+    delivery->state.sent = false;
     pn_hash_del(db->deliveries, delivery->state.id);
   }
-  delivery->state.init = false;
-  delivery->state.sent = false;
 }
 
 void pn_delivery_map_clear(pn_delivery_map_t *dm)
@@ -1169,6 +1169,7 @@ static void pn_full_settle(pn_delivery_map_t *db, pn_delivery_t *delivery)
 {
   assert(!delivery->work);
   pn_clear_tpwork(delivery);
+  pn_delivery_map_del(db, delivery);
 }
 
 int pn_do_transfer(pn_transport_t *transport, uint8_t frame_type, uint16_t channel, pn_data_t *args, const pn_bytes_t *payload)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org