28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
+
|
(declare (uses itemsmod))
(declare (uses mtargs))
(declare (uses mtver))
(declare (uses pgdb))
(declare (uses portloggermod))
(declare (uses servermod))
(declare (uses tasksmod))
(declare (uses ulex))
(module rmtmod
*
(import scheme
chicken.base
|
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
|
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
|
-
+
|
(let* ((th1 (make-thread (lambda ()(rmt:run (get-host-name))) "non-db mode server")))
(thread-start! th1)
(let loop ((count 0))
(assert (< count 30) "FATAL: responder failed to initialize in rmt:open-main-connection")
(if (not *server-info*)
(begin
(thread-sleep! 1)
(loop))
(loop (+ count 1)))
(begin
(servdat-mode-set! *server-info* 'non-db)
(servdat-uconn *server-info*))))))))
(cond
((and conn ;; conn is NOT a socket, just saying ...
(< (current-seconds) (conndat-expires conn)))
#t) ;; we are current and good to go - we'll deal elsewhere with a server that was killed or died
|