]> git.lttng.org Git - lttng-tools.git/commit
Fix: update next_net_seq_num after sending header
authorDavid Goulet <dgoulet@efficios.com>
Thu, 10 Jan 2013 17:07:35 +0000 (12:07 -0500)
committerDavid Goulet <dgoulet@efficios.com>
Thu, 10 Jan 2013 17:43:59 +0000 (12:43 -0500)
commitf789c65addd72f6f2ac0d3c7ca60a952669d5952
tree3d88732d5203f8e217c447b2fceded3b9034536c
parent0128790d7d9f5a856488646e8ea29bc51619670a
Fix: update next_net_seq_num after sending header

Increment the sequence number after we are sure that the relayd has
received correctly the data header. If an error occurs when sending the
header, the data won't be extracted from the buffers thus keeping this
sequence number untouched.

Furthermore, after sending the header, if the relayd dies, this value
won't matter much and if there is an error on the stream when reading
the trace data, the stream will be deleted thus closed on the relayd
making this value useless.

It's important to note that this sequence number is updated on the
relayd side if the full expected data packet was received. So,
incrementing the value after the transmission of the header is not
changing anything in terms of value coherency. The point is to have a
semantic of when read and used successfully (transmission to relayd),
let's update it.

In that code flow, the stream's lock is acquired so no need to
read/update it atomically. I've also added a comments to better
understand the purpose of this variable and how to use it.

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