summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rwxr-xr-xscripts/rabbitmq-server6
2 files changed, 7 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 280d61a577..8c8080b90d 100644
--- a/Makefile
+++ b/Makefile
@@ -255,7 +255,11 @@ clear-resource-alarm: all
$(ERL_CALL)
stop-node:
- -$(ERL_CALL) -q
+ -( \
+ pid=$$(./scripts/rabbitmqctl -n $(RABBITMQ_NODENAME) eval 'os:getpid().') && \
+ $(ERL_CALL) -q && \
+ while ps -p $$pid >/dev/null 2>&1; do sleep 1; done \
+ )
# code coverage will be created for subdirectory "ebin" of COVER_DIR
COVER_DIR=.
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server
index 6a16a4971a..71a6530321 100755
--- a/scripts/rabbitmq-server
+++ b/scripts/rabbitmq-server
@@ -155,10 +155,8 @@ if [ 'x' = "x$RABBITMQ_ALLOW_INPUT" -a -z "$detached" ]; then
# SIGINT
# They are considered an abnormal process termination, the script
# exits with the job exit code.
- # EXIT
- # This is not a signal. The script exits with the job exit code.
- trap "stop_rabbitmq_server; trap - EXIT; exit 0" HUP TERM TSTP
- trap "stop_rabbitmq_server; trap - EXIT" EXIT INT
+ trap "stop_rabbitmq_server; exit 0" HUP TERM TSTP
+ trap "stop_rabbitmq_server" INT
start_rabbitmq_server "$@" &