From 33eae4ec2fc5417f914e33108b5ffd3d88b9509f Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 22 May 2015 13:07:45 -0400 Subject: [PATCH] xio: fix reuse of outer loop index in inner loop Reported-by: Vu Pham Signed-off-by: Casey Bodley --- src/msg/xio/XioConnection.cc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/msg/xio/XioConnection.cc b/src/msg/xio/XioConnection.cc index 950ccfd47c1d..74a0620f00f2 100644 --- a/src/msg/xio/XioConnection.cc +++ b/src/msg/xio/XioConnection.cc @@ -520,8 +520,7 @@ int XioConnection::discard_input_queue(uint32_t flags) pthread_spin_unlock(&sp); // mqueue - int ix, q_size = disc_q.size(); - for (ix = 0; ix < q_size; ++ix) { + while (!disc_q.empty()) { Message::Queue::iterator q_iter = disc_q.begin(); Message* m = &(*q_iter); disc_q.erase(q_iter); @@ -529,8 +528,7 @@ int XioConnection::discard_input_queue(uint32_t flags) } // requeue - q_size = deferred_q.size(); - for (ix = 0; ix < q_size; ++ix) { + while (!deferred_q.empty()) { XioSubmit::Queue::iterator q_iter = deferred_q.begin(); XioSubmit* xs = &(*q_iter); XioMsg* xmsg; @@ -539,8 +537,7 @@ int XioConnection::discard_input_queue(uint32_t flags) xmsg = static_cast(xs); deferred_q.erase(q_iter); // release once for each chained xio_msg - for (ix = 0; ix < int(xmsg->hdr.msg_cnt); ++ix) - xmsg->put(); + xmsg->put(xmsg->hdr.msg_cnt); break; case XioSubmit::INCOMING_MSG_RELEASE: deferred_q.erase(q_iter); -- 2.47.3