guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/04: services: nginx: Don't read PID file when passed a custom config


From: Ludovic Courtès
Subject: 01/04: services: nginx: Don't read PID file when passed a custom config file.
Date: Sat, 8 Sep 2018 17:02:07 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 985975ae80fe5a8e58319b3a5aaf14da940c4419
Author: Ludovic Courtès <address@hidden>
Date:   Sat Sep 8 18:48:48 2018 +0200

    services: nginx: Don't read PID file when passed a custom config file.
    
    Fixes <https://bugs.gnu.org/32665>.
    
    * gnu/services/web.scm (nginx-shepherd-service): Check whether FILE is
    true and don't read the PID file if it is; use 'read-pid-file' instead
    of a potentially endless loop.
---
 gnu/services/web.scm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/gnu/services/web.scm b/gnu/services/web.scm
index 3778efd..1c993b2 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -610,14 +610,12 @@ of index files."
                  (match '#$args
                    (("-s" . _) #t)
                    (_
-                    (let loop ((duration 0))
-                      ;; 
https://bugs.launchpad.net/ubuntu/+source/nginx/+bug/1581864/comments/7
-                      (sleep duration)
-                      (if (file-exists? #$pid-file)
-                          (let ((pid (call-with-input-file #$pid-file read)))
-                            ;; it could be #<eof>
-                            (if (integer? pid) pid (loop 1)))
-                          (loop 1)))))))))
+                    ;; When FILE is true, we cannot be sure that PID-FILE will
+                    ;; be created, so assume it won't show up.  When FILE is
+                    ;; false, read PID-FILE.
+                    #$(if file
+                          #~#t
+                          #~(read-pid-file #$pid-file))))))))
 
      ;; TODO: Add 'reload' action.
      (list (shepherd-service



reply via email to

[Prev in Thread] Current Thread [Next in Thread]