X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fguile%2Fhubmgr;h=ec5e612fc5c7c4ba4eb69ba830053b6cbfb326f0;hb=82fc217605b509d56a5c09d4fe110f56fa6fea16;hp=daa5482fbf33a072f350bb367cb1996d883ea088;hpb=6b0819527e4ba32b7efc92d291a72db7b986a4b8;p=doldaconnect.git diff --git a/lib/guile/hubmgr b/lib/guile/hubmgr index daa5482..ec5e612 100755 --- a/lib/guile/hubmgr +++ b/lib/guile/hubmgr @@ -68,21 +68,20 @@ (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)) (define (hubmgr-main args) (let ((dc-server #f)) - (if (not dc-server) (set! dc-server (getenv "DCSERVER"))) - (if (not dc-server) (set! dc-server "localhost")) - (set! hublist (read-hl)) (logf "read ~a hubs" (length hublist)) (dc-c&l #t dc-server #t) (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)))