tags 224543 + patch
thanks

Upstream says this is a build issue.  It has been a known problem [1]
since at least 2001.  Because it is triggered by a race condition, the
compile-time check for "whether pgrps need synchronization" doesn't
correctly determine that PGRP_PIPE is actually necessary on Linux.

Both Fedora [2] and Gentoo [3] define PGRP_PIPE when building.  Please
apply the attached patch to also define PGRP_PIPE in Debian.  The
patch also corrects a known issue when defining PGRP_PIPE [4,5,6].

[1] http://www.ussg.iu.edu/hypermail/linux/kernel/0104.3/1211.html
[2] http://groups.yahoo.com/group/amanda-users/message/48141
[3] 
http://gentoo.cites.uiuc.edu/pub/gentoo-portage/app-shells/bash/bash-3.0-r12.ebuild
[4] http://lists.gnu.org/archive/html/bug-bash/2005-06/msg00028.html
[5] http://bugs.gentoo.org/show_bug.cgi?id=92349
[6] 
http://gentoo.cites.uiuc.edu/pub/gentoo-portage/app-shells/bash/files/bash-3.0-pgrp-pipe-fix.patch

-jim
#! /bin/sh -e

if [ $# -eq 3 -a "$2" = '-d' ]; then
    pdir="-d $3"
elif [ $# -ne 1 ]; then
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
    exit 1
fi
case "$1" in
    -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
    -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
    *)
        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
        exit 1
esac
exit 0

# DP: Define PGRP_PIPE to avoid race condition.

--- config-bot.h        2004-03-19 17:56:23.000000000 -0500
+++ config-bot.h        2005-09-16 14:32:33.000000000 -0400
@@ -179,3 +179,6 @@
 
 /* If you don't want bash to provide a default mail file to check. */
 #undef DEFAULT_MAIL_DIRECTORY
+
+/* Bug #224543 */
+#define PGRP_PIPE 1

*** jobs.c  Wed Sep  8 11:08:16 2004
--- jobs.c      Thu Jun 30 17:21:26 2005
***************
*** 3456,3459 ****
--- 3901,3907 ----
    stop_making_children ();
    start_pipeline ();
+ #if defined (PGRP_PIPE)
+   pipe_close (pgrp_pipe);
+ #endif
    delete_all_jobs (0);
    set_job_control (0);

Reply via email to