From c77febdf0732512def7f44dafdca5565dbb7d13b Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 10 Jun 2013 21:59:51 -0600 Subject: distcc-tool: fix bugs in odaemon 1. The file permissions on /socket were bad, fix this by setting umask 111 2. In some cases, the child socat wouldn't exit. Add trap to killit on exit. --- src/chroot-tools/distcc-tool | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/chroot-tools/distcc-tool b/src/chroot-tools/distcc-tool index 00156ac..3f7a30f 100755 --- a/src/chroot-tools/distcc-tool +++ b/src/chroot-tools/distcc-tool @@ -211,8 +211,10 @@ odaemon() { [[ $# -eq 1 ]] || panic local chrootpath=$1 - trap "rm -f '$chrootpath/socket'" EXIT - socat UNIX-LISTEN:"$chrootpath/socket",fork SYSTEM:"$0 server" + umask 111 + socat UNIX-LISTEN:"$chrootpath/socket",fork SYSTEM:"$0 server" & + trap "kill -- $!; rm -f '$chrootpath/socket'" EXIT + wait } # Usage: idaemon DISTCC_HOSTS -- cgit v1.2.2