Merge branch 'readonly-p4-master'

This commit is contained in:
Jack Palevich
2009-04-02 10:05:37 -07:00
committed by The Android Open Source Project
3 changed files with 32 additions and 1 deletions

View File

@@ -215,6 +215,21 @@ static int android_os_Exec_waitFor(JNIEnv *env, jobject clazz,
return result; return result;
} }
static void android_os_Exec_close(JNIEnv *env, jobject clazz, jobject fileDescriptor)
{
int fd;
struct winsize sz;
fd = env->GetIntField(fileDescriptor, field_fileDescriptor_descriptor);
if (env->ExceptionOccurred() != NULL) {
return;
}
close(fd);
}
static int register_FileDescriptor(JNIEnv *env) static int register_FileDescriptor(JNIEnv *env)
{ {
class_fileDescriptor = env->FindClass("java/io/FileDescriptor"); class_fileDescriptor = env->FindClass("java/io/FileDescriptor");
@@ -248,7 +263,9 @@ static JNINativeMethod method_table[] = {
{ "setPtyWindowSize", "(Ljava/io/FileDescriptor;IIII)V", { "setPtyWindowSize", "(Ljava/io/FileDescriptor;IIII)V",
(void*) android_os_Exec_setPtyWindowSize}, (void*) android_os_Exec_setPtyWindowSize},
{ "waitFor", "(I)I", { "waitFor", "(I)I",
(void*) android_os_Exec_waitFor} (void*) android_os_Exec_waitFor},
{ "close", "(Ljava/io/FileDescriptor;)V",
(void*) android_os_Exec_close}
}; };
/* /*

View File

@@ -63,5 +63,10 @@ public class Exec
* *
*/ */
public static native int waitFor(int processId); public static native int waitFor(int processId);
/**
* Close a given file descriptor.
*/
public static native void close(FileDescriptor fd);
} }

View File

@@ -184,6 +184,15 @@ public class Term extends Activity {
updatePrefs(); updatePrefs();
} }
@Override
public void onDestroy() {
super.onDestroy();
if (mTermFd != null) {
Exec.close(mTermFd);
mTermFd = null;
}
}
private void startListening() { private void startListening() {
int[] processId = new int[1]; int[] processId = new int[1];