Loading libcutils/ashmem-dev.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ static pthread_mutex_t __ashmem_lock = PTHREAD_MUTEX_INITIALIZER; #ifndef __ANDROID_VNDK__ using openFdType = int (*)(); static openFdType openFd; openFdType initOpenAshmemFd() { openFdType openFd = nullptr; void* handle = dlopen("libashmemd_client.so", RTLD_NOW); Loading Loading @@ -221,7 +223,10 @@ static int __ashmem_open_locked() int fd = -1; #ifndef __ANDROID_VNDK__ static auto openFd = initOpenAshmemFd(); if (!openFd) { openFd = initOpenAshmemFd(); } if (openFd) { fd = openFd(); } Loading Loading @@ -480,3 +485,11 @@ int ashmem_get_size_region(int fd) return __ashmem_check_failure(fd, TEMP_FAILURE_RETRY(ioctl(fd, ASHMEM_GET_SIZE, NULL))); } void ashmem_init() { #ifndef __ANDROID_VNDK__ pthread_mutex_lock(&__ashmem_lock); openFd = initOpenAshmemFd(); pthread_mutex_unlock(&__ashmem_lock); #endif //__ANDROID_VNDK__ } libcutils/ashmem-host.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -82,3 +82,5 @@ int ashmem_get_size_region(int fd) return buf.st_size; } void ashmem_init() {} libcutils/include/cutils/ashmem.h +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ int ashmem_set_prot_region(int fd, int prot); int ashmem_pin_region(int fd, size_t offset, size_t len); int ashmem_unpin_region(int fd, size_t offset, size_t len); int ashmem_get_size_region(int fd); void ashmem_init(); #ifdef __cplusplus } Loading Loading
libcutils/ashmem-dev.cpp +14 −1 Original line number Diff line number Diff line Loading @@ -73,6 +73,8 @@ static pthread_mutex_t __ashmem_lock = PTHREAD_MUTEX_INITIALIZER; #ifndef __ANDROID_VNDK__ using openFdType = int (*)(); static openFdType openFd; openFdType initOpenAshmemFd() { openFdType openFd = nullptr; void* handle = dlopen("libashmemd_client.so", RTLD_NOW); Loading Loading @@ -221,7 +223,10 @@ static int __ashmem_open_locked() int fd = -1; #ifndef __ANDROID_VNDK__ static auto openFd = initOpenAshmemFd(); if (!openFd) { openFd = initOpenAshmemFd(); } if (openFd) { fd = openFd(); } Loading Loading @@ -480,3 +485,11 @@ int ashmem_get_size_region(int fd) return __ashmem_check_failure(fd, TEMP_FAILURE_RETRY(ioctl(fd, ASHMEM_GET_SIZE, NULL))); } void ashmem_init() { #ifndef __ANDROID_VNDK__ pthread_mutex_lock(&__ashmem_lock); openFd = initOpenAshmemFd(); pthread_mutex_unlock(&__ashmem_lock); #endif //__ANDROID_VNDK__ }
libcutils/ashmem-host.cpp +2 −0 Original line number Diff line number Diff line Loading @@ -82,3 +82,5 @@ int ashmem_get_size_region(int fd) return buf.st_size; } void ashmem_init() {}
libcutils/include/cutils/ashmem.h +1 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ int ashmem_set_prot_region(int fd, int prot); int ashmem_pin_region(int fd, size_t offset, size_t len); int ashmem_unpin_region(int fd, size_t offset, size_t len); int ashmem_get_size_region(int fd); void ashmem_init(); #ifdef __cplusplus } Loading