On Tue, Jun 15, 2010 at 12:01 PM, Ryan Waters <ryan.or...@gmail.com> wrote:
> I'm working with the code at the following gist and also pasted below: > > http://gist.github.com/421550 > > I'd like to have execution of a separate thread (agent) continue > running until it sees the atom 'running' change to false. > > Unfortunately, the program doesn't return from the send-off but > to my understanding it should. Why won't it return? I'm using > clojure 1.1. > > TIA > > ;;;;;;;;;;;;;;;; > > (ns nmanage) > > (def running (atom true)) > > (defn process > [] > (when @running > (prn "hi") > (Thread/sleep 1000)) > (recur)) > > ;;; > (send-off (agent nil) (process)) > > (do > (prn "this won't print - execution doesn't make it this far") > (Thread/sleep 2000) > (reset! running false)) > > It looks like you're passing the result of calling (process) as an argument to send-off. Try just (send-off (agent nil) process) to pass the process fn as a value. -- 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