Merge "Special case init for android_is_in_vendor_process."

am: 3dd9881ca7

Change-Id: I49c4d42398f13737e8ddc6c0c04ad685e561b463
This commit is contained in:
Jayant Chowdhary 2019-03-12 21:45:59 -07:00 committed by android-build-merger
commit 04d5b78403

View file

@ -20,6 +20,8 @@
#define LOG_TAG "vndksupport" #define LOG_TAG "vndksupport"
#include <log/log.h> #include <log/log.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__((weak)) extern struct android_namespace_t* android_get_exported_namespace(const char*); __attribute__((weak)) extern struct android_namespace_t* android_get_exported_namespace(const char*);
__attribute__((weak)) extern void* android_dlopen_ext(const char*, int, const android_dlextinfo*); __attribute__((weak)) extern void* android_dlopen_ext(const char*, int, const android_dlextinfo*);
@ -46,6 +48,11 @@ static struct android_namespace_t* get_vendor_namespace() {
} }
int android_is_in_vendor_process() { int android_is_in_vendor_process() {
// Special case init, since when init runs, ld.config.<ver>.txt hasn't been
// loaded (sysprop service isn't up for init to know <ver>).
if (getpid() == 1) {
return 0;
}
if (android_get_exported_namespace == NULL) { if (android_get_exported_namespace == NULL) {
ALOGD("android_get_exported_namespace() not available. Assuming system process."); ALOGD("android_get_exported_namespace() not available. Assuming system process.");
return 0; return 0;