Megatest

Diff
Login

Differences From Artifact [80f5c92415]:

To Artifact [ffdb74becc]:


321
322
323
324
325
326
327
328
329
330







331
332
333
334
335
336
337
321
322
323
324
325
326
327



328
329
330
331
332
333
334
335
336
337
338
339
340
341







-
-
-
+
+
+
+
+
+
+







        *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")))
    (if (file-exists? start-flag)
	(let* ((fmodtime (file-modification-time start-flag)))
	  (if (> (- (current-seconds) fmodtime) 3) ;; good enough
	      (system (conc "touch " start-flag)) ;; lazy but safe
	(let* ((fmodtime (file-modification-time start-flag))
	       (reftime  (+ 3 (random 5)))
	       (delta    (- (current-seconds) fmodtime)))
	  (if (> delta reftime) ;; good enough
	      (begin
		(debug:print-info 0 *default-log-port* "Ready to start server, last start: " fmodtime ", delta: " delta)
		(system (conc "touch " start-flag))) ;; lazy but safe
	      (begin
		(thread-sleep! 5)
		(server:wait-for-server-start-last-flag areapath))))
	(system (conc "touch " start-flag)))))
	      

;; kind start up of servers, wait 40 seconds before allowing another server for a given