This patch solves a rare race condition in pgm_receiver_t.

Martin
>From ba9c7fbcd6b1bb829ed5dbeb42bd088b94c4b56a Mon Sep 17 00:00:00 2001
From: Martin Sustrik <[email protected]>
Date: Tue, 27 Dec 2011 12:45:59 +0100
Subject: [PATCH] Solve race condition in pgm_receiver_t

Assert was removed from the codebase that checked whether pollin
event doesn't happen after reset_pollin was called. This situation
can occur when the event is queued (but not processed) before
reset pollin is called.

Signed-off-by: Martin Sustrik <[email protected]>
---
 src/pgm_receiver.cpp |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

diff --git a/src/pgm_receiver.cpp b/src/pgm_receiver.cpp
index 122d110..a366f9c 100644
--- a/src/pgm_receiver.cpp
+++ b/src/pgm_receiver.cpp
@@ -145,8 +145,6 @@ void zmq::pgm_receiver_t::in_event ()
     unsigned char *data = NULL;
     const pgm_tsi_t *tsi = NULL;
 
-    zmq_assert (pending_bytes == 0);
-
     if (has_rx_timer) {
         cancel_timer (rx_timer_id);
         has_rx_timer = false;
-- 
1.7.4.1

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to