Index: client.scm ================================================================== --- client.scm +++ client.scm @@ -100,15 +100,18 @@ (if (< remaining-tries 99)(thread-sleep! 1)) ;; obviously it needs time (client:setup-http areapath runremote remaining-tries: (- remaining-tries 1))) (match server-dat ((host port start-time server-id pid) (debug:print-info 4 *default-log-port* "client:setup server-dat=" server-dat ", remaining-tries=" remaining-tries) - (if (not runremote) + (if (or (not runremote) + (not (remote-conndat runremote))) (begin ;; Here we are creating a runremote where there was none or it was clobbered with #f ;; - (set! runremote (make-remote)) + (if (not runremote) + (set! runremote (make-remote)) + (http-transport:close-connections runremote)) (let* ((server-info (server:check-if-running areapath))) (remote-server-info-set! runremote server-info) (if server-info (begin (remote-server-url-set! runremote (server:record->url server-info)) @@ -117,11 +120,11 @@ (if (and host port server-id) (let* ((nada (client:connect host port server-id runremote)) (ping-res (rmt:login-no-auto-client-setup runremote))) (if ping-res (if runremote - (begin + (begin ;; updating info in runremote (debug:print-info 2 *default-log-port* "connected to " (client:get-url runremote)) runremote) (client:setup-http areapath runremote remaining-tries: (- remaining-tries 1))) (begin ;; login failed but have a server record, clean out the record and try again (debug:print-info 0 *default-log-port* "client:setup, login unsuccessful, will attempt to start server ... ping-res=" ping-res ", server-dat=" server-dat) ;; had runid. Fixes part of Randy;s ticket 1405717332 Index: http-transport.scm ================================================================== --- http-transport.scm +++ http-transport.scm @@ -337,12 +337,11 @@ (handle-exceptions exn (begin (print-call-chain *default-log-port*) (debug:print-error 0 *default-log-port* " closing connection failed with error: " ((condition-property-accessor 'exn 'message) exn) ", exn=" exn)) - (if (args:any-defined? "-server" "-execute" "-run") - (debug:print-info 0 *default-log-port* "Closing connections to "api-dat)) + (debug:print-info 0 *default-log-port* "Closing connections to "api-dat) (if api-dat (close-connection! api-dat)) (remote-conndat-set! runremote #f) #t)) #f))