Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2994438 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Handle long process names correctly."

parents 8ee58b3b f5b6e559
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -299,9 +299,7 @@ int main(int argc, char* const argv[])
    }

    if (!niceName.isEmpty()) {
        const char* procName = niceName.string();
        pthread_setname_np(pthread_self(), procName);
        runtime.setArgv0(procName);
        runtime.setArgv0(niceName.string(), true /* setProcName */);
    }

    if (zygote) {
+9 −1
Original line number Diff line number Diff line
@@ -269,7 +269,15 @@ AndroidRuntime::~AndroidRuntime()
    return jniRegisterNativeMethods(env, className, gMethods, numMethods);
}

void AndroidRuntime::setArgv0(const char* argv0) {
void AndroidRuntime::setArgv0(const char* argv0, bool setProcName) {
    if (setProcName) {
        int len = strlen(argv0);
        if (len < 15) {
            pthread_setname_np(pthread_self(), argv0);
        } else {
            pthread_setname_np(pthread_self(), argv0 + len - 15);
        }
    }
    memset(mArgBlockStart, 0, mArgBlockLength);
    strlcpy(mArgBlockStart, argv0, mArgBlockLength);
}
+1 −3
Original line number Diff line number Diff line
@@ -412,9 +412,7 @@ void android_os_Process_setArgV0(JNIEnv* env, jobject clazz, jstring name)
    }

    if (!name8.isEmpty()) {
        const char* procName = name8.string();
        pthread_setname_np(pthread_self(), procName);
        AndroidRuntime::getRuntime()->setArgv0(procName);
        AndroidRuntime::getRuntime()->setArgv0(name8.string(), true /* setProcName */);
    }
}

+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ public:
        Tool,
    };

    void setArgv0(const char* argv0);
    void setArgv0(const char* argv0, bool setProcName = false);
    void addOption(const char* optionString, void* extra_info = NULL);

    /**