Fix: data pending race
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 19 Jul 2013 17:28:13 +0000 (13:28 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 19 Jul 2013 17:28:13 +0000 (13:28 -0400)
commit5ab669088a63bfc0a138ad8418cea17a58789281
tree3bbe1220bed86f27e5d4ae554e29b9eb737e38c5
parent7f12ef5d1b1de751b90c2e88fa331692a998ed70
Fix: data pending race

There is a data pending race involving late population of the streams in
the stream hash table, and applying flush on streams that are not yet
globally visible.

This is caused by the fact that streams are added to the hash table only
when received by the data-handling consumer thread.

This results in data_pending() incorrectly returning that there is no
data pending in some cases.

This has been discovered by adding 1s delay in read subbuffer function
for testing.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
src/common/consumer.c
src/common/consumer.h
src/common/kernel-consumer/kernel-consumer.c
src/common/ust-consumer/ust-consumer.c
This page took 0.025815 seconds and 4 git commands to generate.