From 4fa438ef72d125b4c0e7eb37a6667ca51ed325e4 Mon Sep 17 00:00:00 2001 From: Neil Fuller Date: Fri, 3 Jul 2015 17:58:00 +0100 Subject: [PATCH] Move listen() over to using android.system.Os Bug: 3106438 Change-Id: I9b4d1d58d84a28828555ae863e86530995191f2c --- core/java/android/net/LocalSocketImpl.java | 9 +++++---- core/jni/android_net_LocalSocketImpl.cpp | 22 ---------------------- 2 files changed, 5 insertions(+), 26 deletions(-) diff --git a/core/java/android/net/LocalSocketImpl.java b/core/java/android/net/LocalSocketImpl.java index d26e22db39233..df72da8574c1c 100644 --- a/core/java/android/net/LocalSocketImpl.java +++ b/core/java/android/net/LocalSocketImpl.java @@ -201,8 +201,6 @@ class LocalSocketImpl int namespace) throws IOException; private native void bindLocal(FileDescriptor fd, String name, int namespace) throws IOException; - private native void listen_native(FileDescriptor fd, int backlog) - throws IOException; private native void shutdown(FileDescriptor fd, boolean shutdownInput); private native Credentials getPeerCredentials_native( FileDescriptor fd) throws IOException; @@ -326,8 +324,11 @@ class LocalSocketImpl if (fd == null) { throw new IOException("socket not created"); } - - listen_native(fd, backlog); + try { + Os.listen(fd, backlog); + } catch (ErrnoException e) { + throw e.rethrowAsIOException(); + } } /** diff --git a/core/jni/android_net_LocalSocketImpl.cpp b/core/jni/android_net_LocalSocketImpl.cpp index 1f730d7068d46..cf39e66a55bc9 100644 --- a/core/jni/android_net_LocalSocketImpl.cpp +++ b/core/jni/android_net_LocalSocketImpl.cpp @@ -112,27 +112,6 @@ socket_bind_local (JNIEnv *env, jobject object, jobject fileDescriptor, } } -/* private native void listen_native(int fd, int backlog) throws IOException; */ -static void -socket_listen (JNIEnv *env, jobject object, jobject fileDescriptor, jint backlog) -{ - int ret; - int fd; - - fd = jniGetFDFromFileDescriptor(env, fileDescriptor); - - if (env->ExceptionCheck()) { - return; - } - - ret = listen(fd, backlog); - - if (ret < 0) { - jniThrowIOException(env, errno); - return; - } -} - /* private native FileDescriptor ** accept (FileDescriptor fd, LocalSocketImpl s) ** throws IOException; @@ -587,7 +566,6 @@ static JNINativeMethod gMethods[] = { {"connectLocal", "(Ljava/io/FileDescriptor;Ljava/lang/String;I)V", (void*)socket_connect_local}, {"bindLocal", "(Ljava/io/FileDescriptor;Ljava/lang/String;I)V", (void*)socket_bind_local}, - {"listen_native", "(Ljava/io/FileDescriptor;I)V", (void*)socket_listen}, {"accept", "(Ljava/io/FileDescriptor;Landroid/net/LocalSocketImpl;)Ljava/io/FileDescriptor;", (void*)socket_accept}, {"shutdown", "(Ljava/io/FileDescriptor;Z)V", (void*)socket_shutdown}, {"read_native", "(Ljava/io/FileDescriptor;)I", (void*) socket_read},