summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorDave Platt <dplatt@google.com>2014-01-07 19:55:43 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-01-07 19:55:43 +0000
commit1b5bc6f8f96fc30b651679411a4da00d3fbebaa7 (patch)
tree77146ae484aa484ec3a05e8b2f21f27ab5491d82 /core/java
parent105b545ec0ad5ea4f723f8d8b06de37f68c2f6c3 (diff)
parentbd9acc2218fcf3cd6605554a45db2251753ddd7b (diff)
am bd9acc22: am e966e577: am 02f042dd: Fix socket descriptor leak from Zygote to child app
* commit 'bd9acc2218fcf3cd6605554a45db2251753ddd7b': Fix socket descriptor leak from Zygote to child app
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/os/ZygoteInit.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index 25118e8f5a82..55d5513346ff 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -192,10 +192,16 @@ public class ZygoteInit {
static void closeServerSocket() {
try {
if (sServerSocket != null) {
+ FileDescriptor fd = sServerSocket.getFileDescriptor();
sServerSocket.close();
+ if (fd != null) {
+ Libcore.os.close(fd);
+ }
}
} catch (IOException ex) {
Log.e(TAG, "Zygote: error closing sockets", ex);
+ } catch (libcore.io.ErrnoException ex) {
+ Log.e(TAG, "Zygote: error closing descriptor", ex);
}
sServerSocket = null;