Index: launchmod.scm ================================================================== --- launchmod.scm +++ launchmod.scm @@ -2363,11 +2363,16 @@ (handle-exceptions exn (begin (print-call-chain) (print " message: " ((condition-property-accessor 'exn 'message) exn) ", exn=" exn)) - (common:watchdog))) + (let loop () + (if *toppath* + (common:watchdog) + (begin + (thread-sleep! 1) + (loop)))))) "Watchdog thread")) (start-watchdog)) (define (start-watchdog) ;;(if (not (args:get-arg "-server")) Index: rmtmod.scm ================================================================== --- rmtmod.scm +++ rmtmod.scm @@ -270,23 +270,25 @@ (let ((mainconn (rmt:get-connection remote apath (db:run-id->dbname #f)))) ;; (debug:print 0 *default-log-port* "remote: " remote) (if (not mainconn) (begin (rmt:open-main-connection remote apath) - (thread-sleep! 1) + (thread-sleep! 2) (rmt:general-open-connection remote apath dbname)) ;; we have a connection to main, ask for contact info for dbname - (let* ((res (rmt:send-receive 'get-server #f `(,apath ,dbname)))) + (let* ((res (rmt:send-receive-real remote apath dbname 'get-server #f `(,apath ,dbname)))) (case res ((server-started) (if (> num-tries 0) (begin (thread-sleep! 2) - (rmt:general-open-connection remote apath dbname num-tries: (- num-tries 1))) + (rmt:general-open-connection remote apath dbname + num-tries: (- num-tries 1))) 'failed)) (else + (debug:print-info 0 *default-log-port* "Unexpected result: " res) res)))))) ;;====================================================================== ;; Defaults to current area Index: tests/unittests/basicserver.scm ================================================================== --- tests/unittests/basicserver.scm +++ tests/unittests/basicserver.scm @@ -26,23 +26,23 @@ launchmod) (trace-call-sites #t) (trace ;; db:get-dbdat ;; rmt:find-main-server - rmt:send-receive-real - rmt:send-receive + ;; rmt:send-receive-real + ;; rmt:send-receive ;; sexpr->string -;; server-ready? -;; rmt:register-server -;; rmt:open-main-connection - rmt:general-open-connection - rmt:get-connection - common:watchdog -;; rmt:find-main-server -;; get-all-server-pkts -;; get-viable-servers -;; get-best-candidate + ;; server-ready? + ;; rmt:register-server + ;; rmt:open-main-connection + ;; rmt:general-open-connection + ;; rmt:get-connection + ;; common:watchdog + ;; rmt:find-main-server + ;; get-all-server-pkts + ;; get-viable-servers + ;; get-best-candidate ;; api:run-server-process ) (test #f #t (rmt:remote? (let ((r (make-rmt:remote))) (set! *rmt:remote* r)