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:18:31 +0000 (10:18 -0500)
commit3714380f76f56da2dfce53e07aa4f804a350047c
tree7fc7060cfdcf0ae187f0ccc698cd23fd40302019
parent3dd05a854fd61d14a2c395c0c82678abd63798e9
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.025903 seconds and 5 git commands to generate.