| One thing I constantly want to do is run some code, but have it time out in some way after n seconds. I'm having some trouble implementing this in Arc, though. One confusing thing is that I can't figure out when the whole program exits. For example: (do (thread (sleep 2))
(err "foo"))
This terminates the entire program after 2 seconds. Why?In general, what is a nice way to communicate between threads? I feel like I am missing basic primitives in this area. Is ccc useful? It seems like I can't call a continuation made in another thread, but perhaps I am doing something wrong. |