summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lesot <jplesot@google.com>2016-01-07 12:00:04 +0100
committerJean-Philippe Lesot <jplesot@google.com>2016-01-07 16:22:35 +0100
commite2a31e39b86929a452757467fe120737d89df936 (patch)
tree173d18359b024db44df931bdc87e842d884ad1c5
parent0d119b6650f4a695a8be5322c1012212e241739a (diff)
downloadtoolchain_jack-e2a31e39b86929a452757467fe120737d89df936.zip
toolchain_jack-e2a31e39b86929a452757467fe120737d89df936.tar.gz
toolchain_jack-e2a31e39b86929a452757467fe120737d89df936.tar.bz2
Ensure that Jack server inherit no fd from 3 to 255
Bug: 26009364 Change-Id: I6ea1f771d3b158b91beaa7adb15db447271ea5a0
-rwxr-xr-xjack/etc/jack9
-rwxr-xr-xjack/etc/jack-admin10
2 files changed, 17 insertions, 2 deletions
diff --git a/jack/etc/jack b/jack/etc/jack
index a831e33..12fdad5 100755
--- a/jack/etc/jack
+++ b/jack/etc/jack
@@ -147,7 +147,14 @@ while true; do
else
let RETRY_LAUNCH=RETRY_LAUNCH-1
echo "Launching background server" $JACK_SERVER_COMMAND
- $JACK_SERVER_COMMAND $SERVER_PORT_SERVICE $SERVER_PORT_ADMIN $SERVER_COUNT $SERVER_NB_COMPILE $SERVER_TIMEOUT &
+ (
+ trap "" SIGHUP
+ for i in $(seq 3 255); do
+ eval exec "$i"'>&-'
+ done
+ exec $JACK_SERVER_COMMAND $SERVER_PORT_SERVICE $SERVER_PORT_ADMIN $SERVER_COUNT $SERVER_NB_COMPILE $SERVER_TIMEOUT
+ exit 255
+ ) >>$JACK_CLIENT_LOG 2>>$JACK_CLIENT_LOG &
# New server, let's try a bit to connect
let DATE_CONNECT=$(date +%s)+$DELAY_CONNECT;
fi
diff --git a/jack/etc/jack-admin b/jack/etc/jack-admin
index 7f3d396..af5bf20 100755
--- a/jack/etc/jack-admin
+++ b/jack/etc/jack-admin
@@ -25,6 +25,7 @@ umask 077
LOCAL_SETTING="$HOME/.jack"
TMPDIR=${TMPDIR:=/tmp}
SERVER_DIR=$TMPDIR/jack-$USER
+JACK_CLIENT_LOG=${JACK_CLIENT_LOG:="$SERVER_DIR/client.log"}
#
# Load local settings
@@ -97,7 +98,14 @@ case $1 in
JACK_SERVER_COMMAND="java -Djava.io.tmpdir=$TMPDIR -cp $JACK_JAR com.android.jack.server.JackSimpleServer"
fi
echo "Launching Jack server" $JACK_SERVER_COMMAND
- $JACK_SERVER_COMMAND $SERVER_PORT_SERVICE $SERVER_PORT_ADMIN $SERVER_COUNT $SERVER_NB_COMPILE $SERVER_TIMEOUT &
+ (
+ trap "" SIGHUP
+ for i in $(seq 3 255); do
+ eval exec "$i"'>&-'
+ done
+ exec $JACK_SERVER_COMMAND $SERVER_PORT_SERVICE $SERVER_PORT_ADMIN $SERVER_COUNT $SERVER_NB_COMPILE $SERVER_TIMEOUT
+ exit 255
+ ) >>$JACK_CLIENT_LOG 2>>$JACK_CLIENT_LOG &
exit 0 ;;
*)
echo "Usage : $0 [ start-server | stop-server | kill-server | list-server | server-stat ]"