Index: rmt.scm ================================================================== --- rmt.scm +++ rmt.scm @@ -80,11 +80,11 @@ ;; (let* ((start-time (current-seconds)) ;; snapshot time so all use cases get same value (areapath *toppath*);; TODO - resolve from dbstruct to be compatible with multiple areas (runremote (or area-dat *runremote*)) - (attemptnum (+ 1 attemptnum)) + (attemptnum (+ 1 attemptnum)) (readonly-mode (rmtmod:calc-ro-mode runremote *toppath*))) ;; DOT INIT_RUNREMOTE; // leaving off - doesn't really add to the clarity ;; DOT MUTEXLOCK -> INIT_RUNREMOTE [label="no remote?"]; ;; DOT INIT_RUNREMOTE -> MUTEXLOCK; @@ -99,10 +99,17 @@ ;; DOT SET_HOMEHOST -> MUTEXLOCK; ;; ensure we have a homehost record (if (not (pair? (remote-hh-dat runremote))) ;; not on homehost (thread-sleep! 0.1) ;; since we shouldn't get here, delay a little (remote-hh-dat-set! runremote (common:get-homehost))) + + (cond + ((> attemptnum 1) (thread-sleep! 0.1)) + ((> attemptnum 5) (thread-sleep! 0.5)) + ((> attemptnum 10) + (debug:print 1 "INFO: attemptnum in rmt:send-receive is " attemptnum) + (thread-sleep! (/ attemptnum 5)))) ;;(print "BB> readonly-mode is "readonly-mode" dbfile is "dbfile) (cond ;;DOT EXIT; ;;DOT MUTEXLOCK -> EXIT [label="> 15 attempts"]; {rank=same "case 1" "EXIT" }