Index: megatest-version.scm ================================================================== --- megatest-version.scm +++ megatest-version.scm @@ -18,6 +18,6 @@ ;; Always use two or four digit decimal ;; 1.01, 1.02...1.10,1.11,1.1101 ... 1.99,2.00.. (declare (unit megatest-version)) -(define megatest-version 1.6559) +(define megatest-version 1.6561) Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -99,15 +99,16 @@ (let* ((my-lock-file (conc softlocks-dir "/" key "-" (get-host-name) "-" (current-process-id) ".softlock")) (lock-files (filter (lambda (x) (not (equal? x my-lock-file))) (glob (conc softlocks-dir "/" key "*.softlock")))) (fresh-locks (any (lambda (x) ;; do we have any locks younger than 10 seconds - (let ((mod-time (file-modification-time x))) + (let* ((mod-time (file-modification-time x)) + (age (- (current-seconds) mod-time))) (cond - ((> (- (current-seconds) mod-time) 3600) ;; too old to keep, remove it + ((> age 3600) ;; too old to keep, remove it (delete-file* x) #f) - ((< mod-time 10) #t) + ((< age 10) #t) (else #f)))) lock-files))) (if fresh-locks (begin (if (runs:lownoise "runners-softlock-wait" 360) @@ -114,13 +115,14 @@ (debug:print-info 0 *default-log-port* "Other runners in flight, giving up some time...")) (thread-sleep! 10)) (begin (if (runs:lownoise "runners-softlock-nowait" 360) (debug:print-info 0 *default-log-port* "No runners in flight, updating softlock")) - (with-output-to-file my-lock-file - (lambda () - (print (current-seconds)))))) + (let* ((ouf (open-output-file my-lock-file))) + (with-output-to-port ouf + (lambda ()(print (current-seconds)))) + (close-output-port ouf)))) (runs:dat-last-fuel-check-set! rdat (current-seconds)))))) ;; Fourth try, do accounting through time ;; (define (runs:parallel-runners-mgmt rdat)