Unlink the state file while progressing.
[doldaconnect.git] / lib / guile / autodl
index fe454e8..632e7ef 100755 (executable)
   )
 
 (define (handlesr filename fnet peer size slots resptime hash)
+  (if (eq? (cdr (assoc 'search-mode session)) 'wait)
+      (begin (set-cdr! (assoc 'search-mode session) 'normal)
+            (logf "reverting to normal mode")))
   (let ((cl (or (assoc size sr)
                (let ((newp (cons size '()))) (set! sr (append sr (list newp))) newp)))
        (newsr (list
     (if (not (assoc 'maxtrans session))
        (set! session (cons '(maxtrans . 1) session)))
     (if (not (assoc 'search-mode session))
-       (set! session (cons '(search-mode . wait) session)))
+       (set! session (cons '(search-mode . normal) session)))
     (if (not (validate-session session)) (begin (display "Invalid session!\n" (current-error-port)) (exit 1)))
     (if (not dc-server) (set! dc-server (getenv "DCSERVER")))
     (if (not dc-server) (set! dc-server "localhost"))
                                                        (write-info-file)))))
                                          ((622) ; Search result
                                           (let ((ires (list->vector (dc-intresp resp))))
-                                            (if (eq? (cdr (assoc 'search-mode session)) 'wait)
-                                                (begin (set-cdr! (assoc 'search-mode session) 'normal)
-                                                       (logf "reverting to normal mode")))
                                             (if (and ires (= (vector-ref ires 0) srchid)) (apply handlesr (map (lambda (n) (vector-ref ires n)) '(1 2 3 4 5 7 8))))))
                                          
                                          )