[#141] Housekeeping

This commit is contained in:
Peter Taoussanis 2015-12-15 11:19:58 +07:00
parent d59d902611
commit 47cf2121f6
1 changed files with 13 additions and 13 deletions

View File

@ -564,19 +564,19 @@
#+clj #+clj
(def get-hostname (def get-hostname
(enc/memoize* (enc/ms :mins 1) (enc/memoize* (enc/ms :mins 1)
(fn [] (fn []
;; Android doesn't like this on the main thread ;; Android doesn't like this on the main thread. Would use a `future` but
;; `future` starts the agent threadpool so we use ;; that starts the Clojure agent threadpool which can slow application
;; java.util.concurrent. ;; shutdown w/o a `(shutdown-agents)` call
(let [executor (java.util.concurrent.Executors/newSingleThreadExecutor) (let [executor (java.util.concurrent.Executors/newSingleThreadExecutor)
f_ (.submit executor f_ (.submit executor ^java.util.concurrent.Callable
^java.util.concurrent.Callable (fn []
(fn [] (try
(try (.. java.net.InetAddress getLocalHost getHostName) (.. java.net.InetAddress getLocalHost getHostName)
(catch java.net.UnknownHostException _ "UnknownHost"))))] (catch java.net.UnknownHostException _ "UnknownHost")
(try (finally (.shutdown executor)))))]
(deref f_ 5000 "UnknownHost")
(finally (.shutdown executor))))))) (deref f_ 5000 "UnknownHost")))))
(comment (get-hostname)) (comment (get-hostname))