Commit 87849200 authored by Dave Cooper's avatar Dave Cooper
Browse files

add exec to make PID 1 respond to SIGTERM

parent 5918a58d
Loading
Loading
Loading
Loading
Loading
+1 −16
Original line number Diff line number Diff line
#!/bin/bash

cleanup() {
    echo "Shutting down Gendl daemon..."
    # First try to gracefully terminate gdl-ccl by killing run-gendl-services
    # This breaks stdio connection, causing gdl-ccl to exit naturally
    pkill -TERM -f "run-gendl-services"
    sleep 3
    # Kill any remaining processes in our process tree
    pkill -TERM -P 1
    sleep 2
    # Force kill any stubborn processes
    pkill -KILL -P 1
    exit 0
}

trap cleanup SIGTERM


HTTP_PORT=${HTTP_PORT:-9080}  # Single source of truth for HTTP port
@@ -32,7 +17,7 @@ if [ -n "$GDLINIT" ]; then
  chown gendl-user:gendl-user /home/gendl-user/.gdlinit.cl
fi

/opt/gendl/run-gendl-services
exec /opt/gendl/run-gendl-services


+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ else
    gdlexe="gdl-sbcl"
fi
    
su - gendl-user -c "cd ${GENDL_DIR}; HTTP_PORT=${HTTP_PORT} HTTPS_PORT=${HTTPS_PORT} SWANK_PORT=${SWANK_PORT} TELNET_PORT=${TELNET_PORT} HTTP_HOST_PORT=${HTTP_HOST_PORT} HTTPS_HOST_PORT=${HTTPS_HOST_PORT} SWANK_HOST_PORT=${SWANK_HOST_PORT} TELNET_HOST_PORT=${TELNET_HOST_PORT} START_SWANK=${START_SWANK} START_HTTP=${START_HTTP} START_HTTPS=${START_HTTPS} START_TELNET=${START_TELNET} ./gdl/program/${gdlexe} --load ./gdl/start-services.lisp"
exec su - gendl-user -c "cd ${GENDL_DIR}; HTTP_PORT=${HTTP_PORT} HTTPS_PORT=${HTTPS_PORT} SWANK_PORT=${SWANK_PORT} TELNET_PORT=${TELNET_PORT} HTTP_HOST_PORT=${HTTP_HOST_PORT} HTTPS_HOST_PORT=${HTTPS_HOST_PORT} SWANK_HOST_PORT=${SWANK_HOST_PORT} TELNET_HOST_PORT=${TELNET_HOST_PORT} START_SWANK=${START_SWANK} START_HTTP=${START_HTTP} START_HTTPS=${START_HTTPS} START_TELNET=${START_TELNET} ./gdl/program/${gdlexe} --load ./gdl/start-services.lisp"