Remove global variables from ProcessState.
These weren't really being used and they make it very hard to reason about who looks at command line arguments. Processes started via app_process (this includes all zygote forks and the system_server) can get information about command line arguments from the AndroidRuntime class, which is available via a call to AndroidRuntime::getRuntime. bug: 13647418 Change-Id: I6f92680c3619a68c6d4b0995db4cdc9adc788e36
This commit is contained in:
parent
b1a8c01637
commit
162ea0e9e8
@ -27,11 +27,6 @@
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
// Global variables
|
|
||||||
extern int mArgC;
|
|
||||||
extern const char* const* mArgV;
|
|
||||||
extern int mArgLen;
|
|
||||||
|
|
||||||
class IPCThreadState;
|
class IPCThreadState;
|
||||||
|
|
||||||
class ProcessState : public virtual RefBase
|
class ProcessState : public virtual RefBase
|
||||||
@ -62,12 +57,6 @@ public:
|
|||||||
wp<IBinder> getWeakProxyForHandle(int32_t handle);
|
wp<IBinder> getWeakProxyForHandle(int32_t handle);
|
||||||
void expungeHandle(int32_t handle, IBinder* binder);
|
void expungeHandle(int32_t handle, IBinder* binder);
|
||||||
|
|
||||||
void setArgs(int argc, const char* const argv[]);
|
|
||||||
int getArgC() const;
|
|
||||||
const char* const* getArgV() const;
|
|
||||||
|
|
||||||
void setArgV0(const char* txt);
|
|
||||||
|
|
||||||
void spawnPooledThread(bool isMain);
|
void spawnPooledThread(bool isMain);
|
||||||
|
|
||||||
status_t setThreadPoolMaxThreadCount(size_t maxThreads);
|
status_t setThreadPoolMaxThreadCount(size_t maxThreads);
|
||||||
|
@ -48,11 +48,6 @@
|
|||||||
|
|
||||||
namespace android {
|
namespace android {
|
||||||
|
|
||||||
// Global variables
|
|
||||||
int mArgC;
|
|
||||||
const char* const* mArgV;
|
|
||||||
int mArgLen;
|
|
||||||
|
|
||||||
class PoolThread : public Thread
|
class PoolThread : public Thread
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -280,36 +275,6 @@ void ProcessState::expungeHandle(int32_t handle, IBinder* binder)
|
|||||||
if (e && e->binder == binder) e->binder = NULL;
|
if (e && e->binder == binder) e->binder = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessState::setArgs(int argc, const char* const argv[])
|
|
||||||
{
|
|
||||||
mArgC = argc;
|
|
||||||
mArgV = (const char **)argv;
|
|
||||||
|
|
||||||
mArgLen = 0;
|
|
||||||
for (int i=0; i<argc; i++) {
|
|
||||||
mArgLen += strlen(argv[i]) + 1;
|
|
||||||
}
|
|
||||||
mArgLen--;
|
|
||||||
}
|
|
||||||
|
|
||||||
int ProcessState::getArgC() const
|
|
||||||
{
|
|
||||||
return mArgC;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* const* ProcessState::getArgV() const
|
|
||||||
{
|
|
||||||
return mArgV;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ProcessState::setArgV0(const char* txt)
|
|
||||||
{
|
|
||||||
if (mArgV != NULL) {
|
|
||||||
strncpy((char*)mArgV[0], txt, mArgLen);
|
|
||||||
set_process_name(txt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
String8 ProcessState::makeBinderThreadName() {
|
String8 ProcessState::makeBinderThreadName() {
|
||||||
int32_t s = android_atomic_add(1, &mThreadPoolSeq);
|
int32_t s = android_atomic_add(1, &mThreadPoolSeq);
|
||||||
String8 name;
|
String8 name;
|
||||||
|
Loading…
Reference in New Issue
Block a user