Fix: consumerd metadata channel/cache/timer races
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 1 May 2013 20:52:59 +0000 (16:52 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Wed, 1 May 2013 21:16:56 +0000 (17:16 -0400)
commitea88ca2a0b3fa898e245893c43ae2185da0acc44
tree056e9cb1071e1991ccc316db4f6b0350418a397f
parenta0cbdd2ea782afd7c263ff748dcca597095b61a0
Fix: consumerd metadata channel/cache/timer races

There were various races with the way metadata was handled for UST. Fix
this by:

- Ensuring that metadata cache is destroyed only when the metadata
  channel is destroyed (it is already protected by refcounting).
- Ensuring that close_metadata() command (issued by sessiond) just
  closes the stream wakeup_fd, and let the metadata management thread
  (which has ownership of the metadata stream) perform the teardown.
- Ensure that switch timer, for metadata, is always stopped before any
  of the metadata stream or channel teardown is done.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
src/common/ust-consumer/ust-consumer.c
This page took 0.026899 seconds and 5 git commands to generate.