1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-24 02:04:21 +03:00
Amitay Isaacs 1f523a628a ctdb-tests: Avoid early exits in scripts that appear on tail of a pipe
When executing a shell script code "foo | bar", if "bar" terminates early,
then "foo" can get I/O error when writing to stdout.

The tdbtool stub did not wait to read anything from stdin when it is
expected to.  This would cause tests to fail randomly under load when
tdbtool process exited early.

Similarly, debug function read from stdin only under certain conditions
(higher debug and when not reading from tty).  Otherwise, exited early.

Thanks to Andrew Bartlett for noticing the problem and Catalyst Cloud
(http://catalyst.net.nz/cloud) for providing resources to test fixes.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Pair-Programmed-With: Martin Schwenke <martin@meltin.net>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Fri Mar 20 16:26:37 CET 2015 on sn-devel-104
2015-03-20 16:26:36 +01:00
..

This directory contains run-time support scripts for CTDB.

Selected highlights:

  ctdb.init

    An initscript for starting ctdbd at boot time.

  events.d/

    Eventscripts.  See events.d/README for more details.

  functions

    Support functions, sourced by eventscripts and other scripts.

  statd-callout

    rpc.statd high-availability callout to support lock migration on
    failover.

Notes:

* All of these scripts are written in POSIX Bourne shell.  Please
  avoid bash-isms, including the use of "local" variables (which are
  not available in POSIX shell).

* Do not use absolute paths for commands.  Unit tests attempt to
  replace many commands with stubs and can not do this if commands are
  specified with absolute paths.  The functions file controls $PATH so
  absolute paths should not be required.