JNI C-exit(1)

G

ganeshamutha

Hi,,

A C-process (JNI thread) connected with some thread.. i found few
problem...

1. When I want to suspend i called wait().. it was
suspended .. if i want to ask it to resume i called notify() and
notifyAll() but JNI thread not resuming from where it is left. When i
say start it is starting from initial position and after few
suspend / start .. Java get crashing..

*** What could be the wrong on there? How do can fix it?

2. I am keep on checking the status instance
JNIEnv *envG; jobject objG;
jclass cls=(*envG)->GetObjectClass(envG,objG);
jmethodId mid=(*envG)-
getMethodID(envG,cls"wait_here","()Z");

if( *envG->CallBooleanMethod(envG,objG,mid))
{
/**Some Iteration***/
}
i want to quit the exact JNI thread (C-process) if Java
thread returns the bool as true. how do can i kill the exact C-
process.. i have used exit(1) in C but it was closed all the thread
including Java..
**** how do can i stop the Process ? which approach will
easy either through C or Java?

Thanks in advance,
Ganesh.
 
G

Gordon Beaton

A C-process (JNI thread) connected with some thread.. i found few
problem...

A C-process is not a JNI thread. Explain what you mean here.
1. When I want to suspend i called wait().. it was
suspended .. if i want to ask it to resume i called notify() and
notifyAll() but JNI thread not resuming from where it is left. When i
say start it is starting from initial position and after few
suspend / start .. Java get crashing..

*** What could be the wrong on there? How do can fix it?

Almost anything at all. When your application crashes it is most
likely not a problem with the logic (which you've described), but with
the code itself (which you haven't posted). The solution is to fix the
code.
2. I am keep on checking the status instance
JNIEnv *envG; jobject objG;
jclass cls=(*envG)->GetObjectClass(envG,objG);
jmethodId mid=(*envG)-

if( *envG->CallBooleanMethod(envG,objG,mid))
{
/**Some Iteration***/
}

i want to quit the exact JNI thread (C-process) if Java thread
returns the bool as true. how do can i kill the exact C- process.. i
have used exit(1) in C but it was closed all the thread including
Java..

**** how do can i stop the Process ? which approach will
easy either through C or Java?

Make up your mind: are you talking about threads or processes?

The answer depends on how you started the thread (or process).
Possibly all you need to do is return from the method.

/gordon
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top