     (do
       (>!! send-chan 0)
       (reset! (:running server) false)
+      (a/close! send-chan)
       (.close (:server-socket server)))
     (println "Sieve completed!")))
 

        (println "Waiting for kill signal...")
        (while (not= 0 (<!! (:in lead)))
          (<!! (timeout 50)))
        (.close (:socket lead))
        (println "Done!")))))

(defn -main

                  (recur))
                (.close sock)))))))
    (go-loop []
      (if-not running?
        (.close server-socket)
        (recur)))
    {:server-socket server-socket
     :running running?
     :connected connected}))
