helper use pipe or socket IPC instead of a signal, to avoid a potential
race condition in signal delivery. Thanks to to Tiziano Müller <dev-zero@g.o>
for the initial patch.
svn path=/main/trunk/; revision=13389
--- /dev/null
+#!/bin/bash
+# Copyright 2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+die "'${0##*/}' has been banned for EAPI '$EAPI'"
+exit 1
--- /dev/null
+../../banned-helper
\ No newline at end of file
--- /dev/null
+../../banned-helper
\ No newline at end of file
--- /dev/null
+#!/bin/bash
+# Copyright 2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# TODO: Eliminate race condition in signal delivery by using pipe or socket
+# IPC to guarantee that the ebuild process and all of its children (including
+# this helper) are killed immediately, ensuring that "false success" is
+# impossible.
+source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh
+die "$@"
+exit 1
return $retval
}
-# subshell die support
-EBUILD_MASTER_PID=$$
+# Subshell/helper die support (must export for the die helper).
+export EBUILD_MASTER_PID=$$
trap 'exit 1' SIGTERM
EBUILD_SH_ARGS="$*"