Hunter Peress wrote:
> Hi,  I'm running a pretty weird setup:
> 
> AsyncTask1.class -> AsyncTask2.class ->AsyncTask3 (inner class of
> AsyncTask2) ->NDK call (this one takes a long time).
> 
> Since the NDK takes so long, I want to give users the option to kill
> the NDK call so that they can actually use the app. Basically, I keep
> references of all the asynctask instances and I do:
> 
> aSyncTask1.getAsyncTask2().getAsyncTask3().cancel(true);
> 
> The true means mayInterruptIfRunning
> 
> but, lo and behold, the NDK process is still running. I don't care how
> its done, but I need that NDK process to die when I ask it to. I'm
> thinking about kill-9 it through a popen call..
> 
> Any ideas on how to kill this thing??

NDK questions are best asked on the NDK Google Group:

http://groups.google.com/group/android-ndk

That being said, AsyncTask#cancel() will only stop a running thread if
the Java thread is interruptible, and it would not shock me if threads
tied up in NDK calls are not interruptible. Relying on Java thread
interruption is a serious code smell IMHO, NDK or not.

-- 
Mark Murphy (a Commons Guy)
http://commonsware.com | http://twitter.com/commonsguy

Android Training in Germany, 18-22 January 2010: http://bignerdranch.com

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to