Index: server.scm ================================================================== --- server.scm +++ server.scm @@ -321,22 +321,23 @@ *my-client-signature*))) ;; wait for server=start-last to be three seconds old ;; (define (server:wait-for-server-start-last-flag areapath) - (let* ((start-flag (conc areapath "/logs/server-start-last"))) + (let* ((start-flag (conc areapath "/logs/server-start-last")) + ;;; THIS INTERACTS WITH [server] timeout. Suggest using 0.1 or above for timeout (6 seconds) + (reftime (configf:lookup-number *configdat* "server" "idletime" default: 4))) (if (file-exists? start-flag) (let* ((fmodtime (file-modification-time start-flag)) - (reftime 3) ;; (+ 2 (random 3))) ;;; THIS INTERACTS WITH [server] timeout. Suggest using 0.1 or above (delta (- (current-seconds) fmodtime)) (all-go (> delta reftime))) (if all-go #t ;; (system (conc "touch " start-flag)) ;; lazy but safe (begin (debug:print-info 0 *default-log-port* "Gating server start, last start: " fmodtime ", delta: " delta ", reftime: " reftime ", all-go=" all-go) - (thread-sleep! 5) + (thread-sleep! reftime) (server:wait-for-server-start-last-flag areapath))))))) ;; kind start up of servers, wait 40 seconds before allowing another server for a given ;; run-id to be launched ;;