From d6049e36ec319d2094d458d34dfc5d32bc8e1702 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sun, 25 Dec 2016 08:14:46 +0300 Subject: node.scm (node-stop-server): Use SIGKILL signal as the last resort * modules/ssh/dist/node.scm (node-stop-server): Try to SIGTERM the RREPL server first, then use SIGKILL signal. Add logging. * modules/ssh/shell.scm (pkill): Allow to specify signal to send. --- modules/ssh/dist/node.scm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'modules/ssh/dist') diff --git a/modules/ssh/dist/node.scm b/modules/ssh/dist/node.scm index 7562902..a39934d 100644 --- a/modules/ssh/dist/node.scm +++ b/modules/ssh/dist/node.scm @@ -313,10 +313,19 @@ listens on an expected port, return #f otherwise." (define (node-stop-server node) "Stop a RREPL server on a NODE." + (format-log 'functions "[scm] node-stop-server" + "trying to SIGTERM the RREPL server on ~a ..." node) (pkill (node-session node) (format #f "guile --listen=~a" (node-repl-port node)) #:full? #t) (while (node-server-running? node) + (format-log 'functions "[scm] node-stop-server" + "trying to SIGKILL the RREPL server on ~a ..." + node) + (pkill (node-session node) + (format #f "guile --listen=~a" (node-repl-port node)) + #:signal 'SIGKILL + #:full? #t) (sleep 1))) -- cgit v1.2.3