summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorDave Platt <dplatt@google.com>2014-01-07 11:49:49 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-01-07 11:49:49 -0800
commite966e5774ad8d478bc89b541bcac3740fe267d18 (patch)
tree2f6f6b21a5def11faffb45c5bc41865f172a266a /core
parent0d4068ad1cbc8b8c550118c2214eb70116b83f81 (diff)
parent02f042ddd9ddf47ef88c4f174eb19a9bee296a45 (diff)
downloadframeworks_base-e966e5774ad8d478bc89b541bcac3740fe267d18.zip
frameworks_base-e966e5774ad8d478bc89b541bcac3740fe267d18.tar.gz
frameworks_base-e966e5774ad8d478bc89b541bcac3740fe267d18.tar.bz2
am 02f042dd: Fix socket descriptor leak from Zygote to child app
* commit '02f042ddd9ddf47ef88c4f174eb19a9bee296a45': Fix socket descriptor leak from Zygote to child app
Diffstat (limited to 'core')
-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 c44afae..1548f1b 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;