If a thread becomes truly uncooperative (e.g. infinitely blocked or looping), is there any safe way to definitely kill it and recover its resources cleanly? A consumer can deref with timeout, or take from channel with timeout, which protects the consumer. But I'm not clear if that will do anything to clean up the state of the producer, which I presume will eventually degrade the system if threads or memory usage accumulate.
The concrete example in this case is that there are some types of weird HTTP failures/degradations that `clj-http` can't gracefully timeout/catch from, so it just hangs. We're hoping to wrap this in some kind of process isolation that if _any_ type of error prevents returning a result within a timeout, the whole thing gets destroyed and cleaned up. Any thoughts greatly appreciated. Thank you! - Elliot -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.