OSDN Git Service

Zygote : Block SIGCHLD during fork.
authorNarayan Kamath <narayan@google.com>
Mon, 7 Nov 2016 16:22:48 +0000 (16:22 +0000)
committerNarayan Kamath <narayan@google.com>
Mon, 7 Nov 2016 16:42:08 +0000 (16:42 +0000)
commite9a525829a354c92983a35455ccab16d1b0d3892
treef0ac2bdd826171477aecfa4a349760fdc87dbc83
parent2cf7c483a8049e2c657d5f4c138132167fa71ae9
Zygote : Block SIGCHLD during fork.

We close the android logging related sockets prior as late as possible
before every fork to avoid having to whitelist them. If one of the
zygote's children dies after this point (but prior to the fork), we can
end up reopening the logging sockets from the SIGCHLD signal handler.

To prevent this from happening, block SIGCHLD during this critical
section.

Bug: 32693692
Test: Manual

Change-Id: Ia4763a0bfd821a25b68aba3939cb0a6cbf248de0
core/jni/com_android_internal_os_Zygote.cpp