History log of /frameworks/base/cmds/app_process/app_main.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3088ff85a54e4aea2667d0050d42ca6c5203f972 22-Apr-2016 Dimitry Ivanov <dimitry@google.com> zygote: Remove NativeLoader initialization step

This now done by art Runtime::Start()

Bug: http://b/28320913
Change-Id: Icf9b11954b732c9f953e02bba9ae52eb91117457
(cherry picked from commit 6a850b3f11cff546c962fc87ffc961a267973cd4)
/frameworks/base/cmds/app_process/app_main.cpp
bf1082e9a1ae833718321ac58ab64e281d0e3614 16-Mar-2016 Dimitry Ivanov <dimitry@google.com> Renamed the function initialing nativeloader

Bug: http://b/27546414
Change-Id: Ia0b65540772ca4bd1cdab391973325b18cd278a0
/frameworks/base/cmds/app_process/app_main.cpp
573895bbea7cf349d615606004cdb85ba2ca814d 26-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Fix ASAN builds after app_process change.

Bug:27245894

Change-Id: Ie2fc1edcbd874e8ad3b932f8e24ef38c9817b2cd
/frameworks/base/cmds/app_process/app_main.cpp
b0824979be2653ba300382b52c1b1236fd44f0de 22-Feb-2016 Dimitry Ivanov <dimitry@google.com> zygote to preload public native libraries

Preload public native libraries when starting a zygote
This lets other users of libnativeloader (like dex2oat)
avoid unnecessary cold loads of libandroid.so which could
take up to a second.

Bug: http://b/27245894
Change-Id: I1499a7485c186b185fce8a1f8d05afcd579d59cc
/frameworks/base/cmds/app_process/app_main.cpp
7a09b8322cab26d6e3da1362d3c74964ae66b5d4 10-Aug-2015 Sebastien Hertz <shertz@google.com> Allow debugging only for apps forked from zygote

When starting the runtime from app_process, we only pass JDWP options
if starting zygote. It prevents from opening a JDWP connection in
non-zygote programs while Android apps (forked from zygote) remain
debuggable.

Bug: 23050463
Change-Id: If8ea719063a65db4cdeed69a838b52e87b078b08
/frameworks/base/cmds/app_process/app_main.cpp
fbb32f6440ed74a4d27eec03569520580d00da42 12-Jun-2015 Narayan Kamath <narayan@google.com> Better systrace slices for application startup.

This change adds three new timeslices :

- PostFork : As soon as possible after the app forks from the
zygote. Can be used in conjunction with the system_server
"Start proc:" event to derive an upper bound on fork() and
zygote overhead.

- RuntimeInit & ActivityThreadMain for ZygoteInit#runtimeInit
and ActivityThread#main.

ActivityThread#handleBindApplication and higher level functions
are already well instrumented in systrace. handleBindApplication
should occur immediately after ActivityThread#main.

Note that we use the Activity manager tag to make it easier to
correlate these new events with surrounding events (Start proc
and handleBindApplication) that are already using the AM tag.

bug: 21632700
Change-Id: Ibc01f1721f962c913f3c02a51763b6feb1eb6a4d
/frameworks/base/cmds/app_process/app_main.cpp
fc737fb76cc889d0c19bd8bf74d2b5f1fc4fbe6e 01-Apr-2015 Mark Salyzyn <salyzyn@google.com> app_main missing include for sys/stat.h

app_main.c gets sys/stat.h inherited from
private/android_filesystem_config.h it should
not rely on this in the future. The intent is
to move fs_config function into libcutils and
thus deprecate any need for sys/stat.h in this
include file.

Bug: 19908228
Change-Id: I477b825e582742113f849aaa1df50c41e496b6f6
/frameworks/base/cmds/app_process/app_main.cpp
7e7c6031821e2aa55c756a9c85f97a22f4875552 18-Dec-2014 Douglas Leung <douglas.leung@imgtec.com> Add mips64 support to app_process.

Change-Id: Ieb05a212606f02ebad119a0aea0ed92773ace214
/frameworks/base/cmds/app_process/app_main.cpp
cfedceb8c180a2e176154d461659e0c3569dc931 01-Oct-2014 Andreas Gampe <agampe@google.com> Frameworks/base: Turn on -Wall -Werror in cmds

Fix small warnings, turn on -Wall -Werror.

Change-Id: Iab1f01a7c7ebd6ba832b75067c5e395f380a1b8b
/frameworks/base/cmds/app_process/app_main.cpp
00c0cd4a24bd0f040055f9e786e2df1fa3b7d2d3 11-Sep-2014 Jeff Brown <jeffbrown@google.com> Clean entire arg block when setting process name.

When Android processes fork from Zygote, we rewrite the command line
with a new name, eg. "system_server". When we do this, we should
fill the entire block with zeros to remove corrupted argument
information that may otherwise remain in the /proc/<pid>/cmdline buffer
and be seen in tools and stack dumps.

Fixed an issue where VM options could be overwritten after setting
the nice name if the name was too long.

Bug: 17474152
Change-Id: Ie6cf9ed7752a04300a340e26cd6812bb35c59e1b
/frameworks/base/cmds/app_process/app_main.cpp
55471dcd0f843e79d8665c63165720eca6a9c980 28-Aug-2014 Alex Light <allight@google.com> Change /dalvik-cache to be owned by root.

Bug: 16875245

(cherry picked from commit 79bf4007f559e194205f632b23d2bfb6f8d1e7ba)

Change-Id: I29a70215a2207bc4e0db02ab751d32a68edf4b66
/frameworks/base/cmds/app_process/app_main.cpp
6eb1b2611cd2db7f2c2063f8be219d4ef19d11d0 30-Apr-2014 Narayan Kamath <narayan@google.com> Fix x86 build in app_process.

Look for __i386__ and not __x86__.

Change-Id: Iffa3709f9d0c96cce17f3183a6f036a78eccc787
/frameworks/base/cmds/app_process/app_main.cpp
dfacf855fd91eb2d40891721ad4b92ed65d0b46d 30-Apr-2014 Narayan Kamath <narayan@google.com> Merge "Create arch specific cache dirs during zygote startup."
d1e127e141a8080477f3b3becb792f138ca9ab65 25-Apr-2014 Narayan Kamath <narayan@google.com> Create arch specific cache dirs during zygote startup.

The runtime expects them to exist before it's launched.
The boot image / art files are created during the first
zygote launch.

Change-Id: I5ed0ad4854dc7785246344c8f6eaf54e560feb7d
/frameworks/base/cmds/app_process/app_main.cpp
195c73c9b2c5be50ab325099dc2160215ac7562a 26-Apr-2014 Nick Kralevich <nnk@google.com> Set NO_NEW_PRIVS on zygote init

When app_process/zygote starts, make sure PR_SET_NO_NEW_PRIVS is set.
This prevents zygote spawned apps from acquiring new privileges
on exec.

In particular, this allows the CTS test
android.os.cts.SecurityFeaturesTest#testNoNewPrivs() to pass if ART is set
as the default runtime.

Change-Id: I81139cda999c7b1430242561aad28f566e9b6da0
/frameworks/base/cmds/app_process/app_main.cpp
6bd762289b911e8876759ebbfd9e8960ba825844 24-Apr-2014 Elliott Hughes <enh@google.com> Fix a typo in an assertion.

Change-Id: I3e97bb3cb8070c0ec0c6b97769f1da3e7b4ef8f5
/frameworks/base/cmds/app_process/app_main.cpp
90c75cf02e8e36be8679273f4ea15fd145001033 12-Apr-2014 Narayan Kamath <narayan@google.com> Don't compare String8s to NULL.

Use String8::isEmpty instead. Note that this code path is hit
only if the zygote calls ::exit, and that never happens unless
the VM invocation fails.

Change-Id: I0e7d3a86a79b12b2174ca3bf0dbe1904e33c041a
/frameworks/base/cmds/app_process/app_main.cpp
d35d3e5d391b8daf20f9af2c5f01d5ff1985c1ee 10-Apr-2014 Narayan Kamath <narayan@google.com> Dual zygote cleanup.

- Use different process names for the 32 / 64 bit zygote.
- Pass command line arguments correctly. The first unmatched
argument must be passed through to the java main class.

Change-Id: I952ebbdbba941f118d992354b9bd0ada2dade417
/frameworks/base/cmds/app_process/app_main.cpp
c41638cb759ce569630ffae4c5c4cdee1b0f3b82 07-Apr-2014 Narayan Kamath <narayan@google.com> Make zygotes aware of their supported ABIs.

Query system properties for the list of ABIs and pass
it as a command line argument to ZygoteInit.

Also add a new Zygote command that returns this list of
ABIs to peers.

Change-Id: I68034c6f63fa626911122579a011a0a25a8cda94
/frameworks/base/cmds/app_process/app_main.cpp
22ec1eefa4dc8e12f7da8e8750d4770144941526 07-Apr-2014 Narayan Kamath <narayan@google.com> Clean up argc / argv processing for runtime args.

- Make copies of argc, argv before argv is potentially
overwritten with the process name.
- Allow multiple command line arguments to be passed to
ZygoteInit (this is required for some of the 64 bit
zygote work).
- Add an explanatory comment about how these argments
are processed.

Change-Id: I752be69c5c0f97ed17d1a3dded19f46ee00929b0
/frameworks/base/cmds/app_process/app_main.cpp
a23fcd7be8e40078a913b1a99222cdd89229e67b 28-Mar-2014 Narayan Kamath <narayan@google.com> Remove ProcessState::mArgc,mArgV,mArgLen

These look like historical oddities, and weren't really being
used for anything useful.

Process:setArgV0 was being called by android.util.Process, but
that functionality can be moved directly into the implementation
of that class.

bug: 13647418

Change-Id: I216c8f8a4c065f0cf3a61f19f9e32decd26f93f6
/frameworks/base/cmds/app_process/app_main.cpp
d53afd2b05f428fcce5695770c04d6cb6fba7aca 18-Sep-2013 Nick Kralevich <nnk@google.com> revert ADDR_COMPAT_LAYOUT workaround.

Stop working around bad applications by setting ADDR_COMPAT_LAYOUT.
ADDR_COMPAT_LAYOUT is undesirable because it reduces the amount of
address space available to an application.

The Android emulator, in both 4.3 and 4.4, does not set
ADDR_COMPAT_LAYOUT. Anyone needing to test their application on a
version of Android without ADDR_COMPAT_LAYOUT can use the emulator
and reproduce the failures.

Change-Id: I8f753acc205798bd7f031026c7ece12d26de562c
/frameworks/base/cmds/app_process/app_main.cpp
fc8bd4d3f4deece8beee7ce3f7888078dd37c60d 24-Apr-2013 Nick Kralevich <nnk@google.com> am 35587a0c: Merge "Don\'t set ADDR_COMPAT_LAYOUT on the emulator"

* commit '35587a0c47c33a8eed7817dc705dbf502f7b5b60':
Don't set ADDR_COMPAT_LAYOUT on the emulator
fc17dc2548234461eb43ff83539ede4c9893a825 24-Apr-2013 Nick Kralevich <nnk@google.com> Don't set ADDR_COMPAT_LAYOUT on the emulator

Don't work around third party app bugs on the emulator.

Change-Id: I4440fcd56b72e3a74881ddec2a469f037a060525
/frameworks/base/cmds/app_process/app_main.cpp
6ad0452e6301c0650f58f3991f7c523f6f279ddb 16-Apr-2013 Jamie Gennis <jgennis@google.com> Disable tracing from Zygote

This change disables all atrace tracing in Zygote immediately after it is
initialized. This is necessary because Zygote has no way to receive
notifications that the enabled trace tags have been changed. Tracing is
re-enabled when other processes fork from Zygote.

Change-Id: If2983858fb0c4890ba9ab041849b1c4d98f66c13
/frameworks/base/cmds/app_process/app_main.cpp
9a9350550a7ca51feb97218101ef90c2cb90be71 15-Mar-2013 Nick Kralevich <nnk@google.com> app_process: don't pollute the environment

Give a hoot — don't pollute!

Change-Id: I30d6c05cecab483f0e9d8063907f7bc0ef2bb104
/frameworks/base/cmds/app_process/app_main.cpp
1fe21bd1b6ca8b94c78fbf3666a1e8e0472355de 15-Mar-2013 Nick Kralevich <nnk@google.com> Never call app_main more than once

Different kernels seem to handle ADDR_COMPAT_LAYOUT differently,
sometimes passing it to its children, sometimes not. If it's not
passed to its child successfully, we can end up in a restart loop.

Instead of testing for the presence of ADDR_COMPAT_LAYOUT, use an
environment variable instead, which is handled more predictably.

Bug: 8392487
Change-Id: Ia531dd2abb4e1cd46f3430d844e644f53581f530
/frameworks/base/cmds/app_process/app_main.cpp
5fa1ee779e2170fd2e3e96b1e0887f15b04b1f76 15-Mar-2013 Nick Kralevich <nnk@google.com> Don't use ADDR_COMPAT_LAYOUT on the emulator

For the emulator, we want people to see memory as it
actually is, not how we're hacking around buggy apps. Don't
set ADDR_COMPAT_LAYOUT on the emulator.

For reasons that I don't understand, personality(ADDR_COMPAT_LAYOUT)
does not persist across an exec on the emulator. app_main gets
into a tight loop restarting itself because of this. This change
also works around that bug.

Change-Id: Ia73a7d2d623c25cf39d248145d97307945d554da
/frameworks/base/cmds/app_process/app_main.cpp
8a0a929422682ba3eb6a205dc6c0638e68b909de 14-Mar-2013 Nick Kralevich <nnk@google.com> Respawn app_main if ADDR_COMPAT_LAYOUT is not set

Bug: 8358800
Change-Id: Id81aa26d74dfd16a49f0ee5926ea2cdb3c2106d8
/frameworks/base/cmds/app_process/app_main.cpp
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/cmds/app_process/app_main.cpp
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
/frameworks/base/cmds/app_process/app_main.cpp
10e89712863f5b91a2982dc1783fbdfe39c1485d 09-Jul-2011 Jeff Brown <jeffbrown@google.com> Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
/frameworks/base/cmds/app_process/app_main.cpp
ebed7d6e35f7f960e6e6add2b8ab7c7a31a511c3 17-May-2011 Jeff Brown <jeffbrown@google.com> Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
/frameworks/base/cmds/app_process/app_main.cpp
d195e5ab401432ddac659791640a2927fc668699 14-Apr-2011 Elliott Hughes <enh@google.com> Replace a custom AndroidRuntime::findClass with a more targeted fix.

This seems simpler and more contained, and I think the comment explaining
why hoop-jumping is necessary is a bit clearer now.

Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
/frameworks/base/cmds/app_process/app_main.cpp
de6d1d889ebf15250c04a8ffc204b91af1e447e3 08-Oct-2010 Brian Carlstrom <bdc@google.com> Move LOG_ALWAYS_FATAL to end of app_process

Since LOG_ALWAYS_FATAL is always fatal and code after it is by
definition unreachable, put the call after other diagnostic output.

Change-Id: Ib3a515a04125d8e4f6e8af3a6f59226e8f0dd9cd
/frameworks/base/cmds/app_process/app_main.cpp
0795272aa226f4e965968a03daddc53ce30b7cda 20-May-2009 Mathias Agopian <mathias@google.com> move libbinder's header files under includes/binder
/frameworks/base/cmds/app_process/app_main.cpp
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/cmds/app_process/app_main.cpp
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/cmds/app_process/app_main.cpp
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/cmds/app_process/app_main.cpp