X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fguile%2Fhubmgr;h=ebcdcb3f38c030320c12d066f7830da547a922d0;hb=4024acee4ce7196997182740b75a743bfbe6df55;hp=daa5482fbf33a072f350bb367cb1996d883ea088;hpb=6b0819527e4ba32b7efc92d291a72db7b986a4b8;p=doldaconnect.git diff --git a/lib/guile/hubmgr b/lib/guile/hubmgr index daa5482..ebcdcb3 100755 --- a/lib/guile/hubmgr +++ b/lib/guile/hubmgr @@ -68,6 +68,7 @@ (begin (set-cdr! (assq hub connlist) (car ir)) (logf "~a state syn (~a)" (cadr hub) (car ir))) (begin (set! connlist (delq (assq hub connlist) connlist)) + (set! statelist (cons (list hub (current-time) 10) statelist)) (logf "~a failed (~a)" (cadr hub) (cdr (assq 'code er)))))))))))) hublist)) @@ -82,7 +83,8 @@ (dc-ecmd-assert 200 "notify" "fn:act" "on") (dc-handle-fn) (dc-fnproc-reg 'state (lambda (fn) - (if (eq? (cdr (assq 'state fn)) 'dead) + (if (and (eq? (cdr (assq 'state fn)) 'dead) + (assq (cdr (assq 'id fn)) (map (lambda (o) (cons (cdr o) (car o))) connlist))) (begin (logf "~a died" (cdr (assq 'id fn))) (dc-qcmd (list "dcnct" (cdr (assq 'id fn)))))) (cklist)))