Fix: wrong loop continuation in metadata thread
authorDavid Goulet <dgoulet@efficios.com>
Thu, 10 Jan 2013 15:18:31 +0000 (10:18 -0500)
committerDavid Goulet <dgoulet@efficios.com>
Thu, 10 Jan 2013 15:25:31 +0000 (10:25 -0500)
commit0128790d7d9f5a856488646e8ea29bc51619670a
treef3f5a90879ec9169e116aeda88ec7143cba7b2b5
parent16b6b60d0cee4a431a411f11735809a02e8eb71c
Fix: wrong loop continuation in metadata thread

The validation of the endpoint status can change the metadata hash table
meaning stream(s) can be removed from it and the poll set. After that,
continuing the for loop was making the thread use possible invalid file
descriptor that were not in the hash table anymore trigerring the lookup
assert of the node just after the for loop.

The very important part here is that when the metadata ht changes, we
MUST go back to the poll wait() to synchronize the subset of fd we are
looking at.

Reported-by: Jesus Garcia <jesus.garcia@ericsson.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
src/common/consumer.c
This page took 0.024737 seconds and 4 git commands to generate.