Update ChangeLog and configure to 2.4.0 stable

Signed-off-by: David Goulet <dgoulet@efficios.com>
Remove -s option from lttng load command

This is to help usability and also provide the same usage as lttng save
command that does not require this option.

Fixes #755

Signed-off-by: David Goulet <dgoulet@efficios.com>
Print message on a successful load command

Fixes #754

Signed-off-by: David Goulet <dgoulet@efficios.com>
Update load help message

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: bad errno handling in load session from path

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: allow loading session file with -i option

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: update test to use correct lttng load option

Signed-off-by: David Goulet <dgoulet@efficios.com>
Fix: add consumer wake up pipe to avoid race

UST application will notify the wait_fd pipe for every subbuffer that it
writes and ready to be consumed. However, on *high* load systems, this
1:1 property can fail if the pipe gets filled up. For performance
reason, UST will ignore this error and continue since it can't wait for
the pipe to clear up.

This triggers a race condition where we have *one* wake up on the UST
pipe for potentially multiple subbuffers. A data pending command will
wait forever on streams that still has data but the data thread could'nt
consumed them because of this 1:n possible race. Using the stop command
without waiting would mean a memory/fd leak of the stream.

Thus, we add a consumer wake up pipe here that notifies the data thread
if there is still data to be read after a successful read subbuffer
call. With this, we end up handling the residual buffers if any since
the data thread is always notified when there is still data to be read.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>