Alternatively, might be fun to make a ccall_in_worker_thread intrinsic which handles all of the fiddly gc details and only blocks the local task (and/or returns a remoteref)
On Monday, March 24, 2014, Stefan Karpinski <ste...@karpinski.org> wrote: > Yes, we need this ability. Externally terminating and otherwise > interacting with tasks is a good way to deal with things like timeouts and > cancelling distributed work. > > > On Mon, Mar 24, 2014 at 1:01 AM, Amit Murthy > <amit.mur...@gmail.com<javascript:_e(%7B%7D,'cvml','amit.mur...@gmail.com');> > > wrote: > >> I think currently the only way to interrupt a task is when it is blocked >> on a condition variable by using the "notify" call. Will be good to have a >> "terminate(t::Task)" call. >> >> >> On Sun, Mar 23, 2014 at 9:08 PM, Bob Cowdery >> <bobcowd...@gmail.com<javascript:_e(%7B%7D,'cvml','bobcowd...@gmail.com');> >> > wrote: >> >>> Could you clarify please. If its on a blocking call how do I throw an >>> error and if its not complete why would the gc delete it. >>> >>> >>> On Sunday, March 23, 2014 3:27:18 PM UTC, Bob Cowdery wrote: >>>> >>>> Is there any way to terminate a task that is stuck on a blocking call. >>>> I can see that I can call istaskdone() or start a Timeout to know that the >>>> task is potentially blocked but I don't see anything in Task that lets me >>>> terminate it. >>>> >>>> Bob >>>> >>> >> >