94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
+
-
-
+
+
-
|
(> (+ *last-db-access* 60)(current-seconds)))
(begin
(debug:print-info 0 "Server continuing, tests running: " numrunning ", seconds since last db access: " (- (current-seconds) *last-db-access*))
(loop 0)))
(begin
(debug:print-info 0 "Starting to shutdown the server.")
;; need to delete only *my* server entry (future use)
(set! *time-to-exit* #t)
(open-run-close db:del-var #f "SERVER")
(thread-sleep! 10)
(open-run-close tasks:server-deregister-self tasks:open-db)
(thread-sleep! 5)
(debug:print-info 0 "Max cached queries was " *max-cache-size*)
(debug:print-info 0 "Server shutdown complete. Exiting")
(open-run-close tasks:server-deregister-self tasks:open-db)
(exit))))))
(define (server:find-free-port-and-open host s port #!key (trynum 50))
(let ((s (if s s (make-socket 'rep)))
(p (if (number? port) port 5555)))
(handle-exceptions
exn
|