Loading libcutils/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ // they correspond to features not used by our host development tools // which are also hard or even impossible to port to native Win32 libcutils_nonwindows_sources = [ "android_get_control_file.cpp", "fs.cpp", "hashmap.cpp", "multiuser.cpp", Loading Loading @@ -102,6 +101,7 @@ cc_library { android: { srcs: libcutils_nonwindows_sources + [ "android_get_control_file.cpp", "android_reboot.cpp", "ashmem-dev.cpp", "fs_config.cpp", Loading libcutils/android_get_control_env.h +6 −13 Original line number Diff line number Diff line Loading @@ -14,20 +14,13 @@ * limitations under the License. */ #ifndef __CUTILS_ANDROID_GET_CONTROL_ENV_H #define __CUTILS_ANDROID_GET_CONTROL_ENV_H #pragma once /* To declare library function hidden and internal */ #define LIBCUTILS_HIDDEN __attribute__((visibility("hidden"))) #include <sys/cdefs.h> #ifdef __cplusplus extern "C" { #endif __BEGIN_DECLS LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, const char* name); #ifdef __cplusplus } #endif int __android_get_control_from_env(const char* prefix, const char* name) __attribute__((visibility("hidden"))); #endif /* __CUTILS_ANDROID_GET_CONTROL_ENV_H */ __END_DECLS libcutils/android_get_control_file.cpp +2 −18 Original line number Diff line number Diff line Loading @@ -41,12 +41,7 @@ #include "android_get_control_env.h" #ifndef TEMP_FAILURE_RETRY #define TEMP_FAILURE_RETRY(exp) (exp) // KISS implementation #endif LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, const char* name) { int __android_get_control_from_env(const char* prefix, const char* name) { if (!prefix || !name) return -1; char *key = NULL; Loading @@ -67,20 +62,11 @@ LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, long fd = strtol(val, NULL, 10); if (errno) return -1; // validity checking if ((fd < 0) || (fd > INT_MAX)) return -1; // Since we are inheriting an fd, it could legitimately exceed _SC_OPEN_MAX if ((fd < 0) || (fd > INT_MAX)) return -1; // Still open? #if defined(F_GETFD) // Lowest overhead if (TEMP_FAILURE_RETRY(fcntl(fd, F_GETFD)) < 0) return -1; #elif defined(F_GETFL) // Alternate lowest overhead if (TEMP_FAILURE_RETRY(fcntl(fd, F_GETFL)) < 0) return -1; #else // Hail Mary pass struct stat s; if (TEMP_FAILURE_RETRY(fstat(fd, &s)) < 0) return -1; #endif return static_cast<int>(fd); } Loading @@ -88,7 +74,6 @@ LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, int android_get_control_file(const char* path) { int fd = __android_get_control_from_env(ANDROID_FILE_ENV_PREFIX, path); #if defined(__linux__) // Find file path from /proc and make sure it is correct char *proc = NULL; if (asprintf(&proc, "/proc/self/fd/%d", fd) < 0) return -1; Loading @@ -108,7 +93,6 @@ int android_get_control_file(const char* path) { if (ret < 0) return -1; if (cmp != 0) return -1; // It is what we think it is #endif return fd; } libcutils/sockets_unix.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ #include <cutils/sockets.h> #define LOG_TAG "socket-unix" #include <stdio.h> #include <stdlib.h> #include <string.h> Loading @@ -27,9 +25,6 @@ #include <time.h> #include <unistd.h> #include <cutils/android_get_control_file.h> #include <log/log.h> #include "android_get_control_env.h" int socket_close(int sock) { Loading Loading @@ -62,6 +57,7 @@ ssize_t socket_send_buffers(cutils_socket_t sock, return writev(sock, iovec_buffers, num_buffers); } #if defined(__ANDROID__) int android_get_control_socket(const char* name) { int fd = __android_get_control_from_env(ANDROID_SOCKET_ENV_PREFIX, name); Loading @@ -82,3 +78,8 @@ int android_get_control_socket(const char* name) { } return -1; } #else int android_get_control_socket(const char*) { return -1; } #endif Loading
libcutils/Android.bp +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ // they correspond to features not used by our host development tools // which are also hard or even impossible to port to native Win32 libcutils_nonwindows_sources = [ "android_get_control_file.cpp", "fs.cpp", "hashmap.cpp", "multiuser.cpp", Loading Loading @@ -102,6 +101,7 @@ cc_library { android: { srcs: libcutils_nonwindows_sources + [ "android_get_control_file.cpp", "android_reboot.cpp", "ashmem-dev.cpp", "fs_config.cpp", Loading
libcutils/android_get_control_env.h +6 −13 Original line number Diff line number Diff line Loading @@ -14,20 +14,13 @@ * limitations under the License. */ #ifndef __CUTILS_ANDROID_GET_CONTROL_ENV_H #define __CUTILS_ANDROID_GET_CONTROL_ENV_H #pragma once /* To declare library function hidden and internal */ #define LIBCUTILS_HIDDEN __attribute__((visibility("hidden"))) #include <sys/cdefs.h> #ifdef __cplusplus extern "C" { #endif __BEGIN_DECLS LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, const char* name); #ifdef __cplusplus } #endif int __android_get_control_from_env(const char* prefix, const char* name) __attribute__((visibility("hidden"))); #endif /* __CUTILS_ANDROID_GET_CONTROL_ENV_H */ __END_DECLS
libcutils/android_get_control_file.cpp +2 −18 Original line number Diff line number Diff line Loading @@ -41,12 +41,7 @@ #include "android_get_control_env.h" #ifndef TEMP_FAILURE_RETRY #define TEMP_FAILURE_RETRY(exp) (exp) // KISS implementation #endif LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, const char* name) { int __android_get_control_from_env(const char* prefix, const char* name) { if (!prefix || !name) return -1; char *key = NULL; Loading @@ -67,20 +62,11 @@ LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, long fd = strtol(val, NULL, 10); if (errno) return -1; // validity checking if ((fd < 0) || (fd > INT_MAX)) return -1; // Since we are inheriting an fd, it could legitimately exceed _SC_OPEN_MAX if ((fd < 0) || (fd > INT_MAX)) return -1; // Still open? #if defined(F_GETFD) // Lowest overhead if (TEMP_FAILURE_RETRY(fcntl(fd, F_GETFD)) < 0) return -1; #elif defined(F_GETFL) // Alternate lowest overhead if (TEMP_FAILURE_RETRY(fcntl(fd, F_GETFL)) < 0) return -1; #else // Hail Mary pass struct stat s; if (TEMP_FAILURE_RETRY(fstat(fd, &s)) < 0) return -1; #endif return static_cast<int>(fd); } Loading @@ -88,7 +74,6 @@ LIBCUTILS_HIDDEN int __android_get_control_from_env(const char* prefix, int android_get_control_file(const char* path) { int fd = __android_get_control_from_env(ANDROID_FILE_ENV_PREFIX, path); #if defined(__linux__) // Find file path from /proc and make sure it is correct char *proc = NULL; if (asprintf(&proc, "/proc/self/fd/%d", fd) < 0) return -1; Loading @@ -108,7 +93,6 @@ int android_get_control_file(const char* path) { if (ret < 0) return -1; if (cmp != 0) return -1; // It is what we think it is #endif return fd; }
libcutils/sockets_unix.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ #include <cutils/sockets.h> #define LOG_TAG "socket-unix" #include <stdio.h> #include <stdlib.h> #include <string.h> Loading @@ -27,9 +25,6 @@ #include <time.h> #include <unistd.h> #include <cutils/android_get_control_file.h> #include <log/log.h> #include "android_get_control_env.h" int socket_close(int sock) { Loading Loading @@ -62,6 +57,7 @@ ssize_t socket_send_buffers(cutils_socket_t sock, return writev(sock, iovec_buffers, num_buffers); } #if defined(__ANDROID__) int android_get_control_socket(const char* name) { int fd = __android_get_control_from_env(ANDROID_SOCKET_ENV_PREFIX, name); Loading @@ -82,3 +78,8 @@ int android_get_control_socket(const char* name) { } return -1; } #else int android_get_control_socket(const char*) { return -1; } #endif