Loading libutils/Looper.cpp +20 −17 Original line number Diff line number Diff line Loading @@ -17,11 +17,13 @@ #include <utils/Looper.h> #include <utils/Timers.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <limits.h> #include <inttypes.h> #include <string.h> #include <sys/eventfd.h> #include <unistd.h> namespace android { Loading Loading @@ -73,7 +75,8 @@ Looper::Looper(bool allowNonCallbacks) : mPolling(false), mEpollFd(-1), mEpollRebuildRequired(false), mNextRequestSeq(0), mResponseIndex(0), mNextMessageUptime(LLONG_MAX) { mWakeEventFd = eventfd(0, EFD_NONBLOCK); LOG_ALWAYS_FATAL_IF(mWakeEventFd < 0, "Could not make wake event fd. errno=%d", errno); LOG_ALWAYS_FATAL_IF(mWakeEventFd < 0, "Could not make wake event fd: %s", strerror(errno)); AutoMutex _l(mLock); rebuildEpollLocked(); Loading Loading @@ -148,15 +151,15 @@ void Looper::rebuildEpollLocked() { // Allocate the new epoll instance and register the wake pipe. mEpollFd = epoll_create(EPOLL_SIZE_HINT); LOG_ALWAYS_FATAL_IF(mEpollFd < 0, "Could not create epoll instance. errno=%d", errno); LOG_ALWAYS_FATAL_IF(mEpollFd < 0, "Could not create epoll instance: %s", strerror(errno)); struct epoll_event eventItem; memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union eventItem.events = EPOLLIN; eventItem.data.fd = mWakeEventFd; int result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeEventFd, & eventItem); LOG_ALWAYS_FATAL_IF(result != 0, "Could not add wake event fd to epoll instance. errno=%d", errno); LOG_ALWAYS_FATAL_IF(result != 0, "Could not add wake event fd to epoll instance: %s", strerror(errno)); for (size_t i = 0; i < mRequests.size(); i++) { const Request& request = mRequests.valueAt(i); Loading @@ -165,8 +168,8 @@ void Looper::rebuildEpollLocked() { int epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, request.fd, & eventItem); if (epollResult < 0) { ALOGE("Error adding epoll events for fd %d while rebuilding epoll set, errno=%d", request.fd, errno); ALOGE("Error adding epoll events for fd %d while rebuilding epoll set: %s", request.fd, strerror(errno)); } } } Loading Loading @@ -265,7 +268,7 @@ int Looper::pollInner(int timeoutMillis) { if (errno == EINTR) { goto Done; } ALOGW("Poll failed with an unexpected error, errno=%d", errno); ALOGW("Poll failed with an unexpected error: %s", strerror(errno)); result = POLL_ERROR; goto Done; } Loading Loading @@ -410,7 +413,7 @@ void Looper::wake() { ssize_t nWrite = TEMP_FAILURE_RETRY(write(mWakeEventFd, &inc, sizeof(uint64_t))); if (nWrite != sizeof(uint64_t)) { if (errno != EAGAIN) { ALOGW("Could not write wake signal, errno=%d", errno); ALOGW("Could not write wake signal: %s", strerror(errno)); } } } Loading Loading @@ -474,7 +477,7 @@ int Looper::addFd(int fd, int ident, int events, const sp<LooperCallback>& callb if (requestIndex < 0) { int epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, & eventItem); if (epollResult < 0) { ALOGE("Error adding epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error adding epoll events for fd %d: %s", fd, strerror(errno)); return -1; } mRequests.add(fd, request); Loading @@ -497,18 +500,18 @@ int Looper::addFd(int fd, int ident, int events, const sp<LooperCallback>& callb // call instead, but that approach carries others disadvantages. #if DEBUG_CALLBACKS ALOGD("%p ~ addFd - EPOLL_CTL_MOD failed due to file descriptor " "being recycled, falling back on EPOLL_CTL_ADD, errno=%d", this, errno); "being recycled, falling back on EPOLL_CTL_ADD: %s", this, strerror(errno)); #endif epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, & eventItem); if (epollResult < 0) { ALOGE("Error modifying or adding epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error modifying or adding epoll events for fd %d: %s", fd, strerror(errno)); return -1; } scheduleEpollRebuildLocked(); } else { ALOGE("Error modifying epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error modifying epoll events for fd %d: %s", fd, strerror(errno)); return -1; } } Loading Loading @@ -563,7 +566,7 @@ int Looper::removeFd(int fd, int seq) { // call instead, but that approach carries others disadvantages. #if DEBUG_CALLBACKS ALOGD("%p ~ removeFd - EPOLL_CTL_DEL failed due to file descriptor " "being closed, errno=%d", this, errno); "being closed: %s", this, strerror(errno)); #endif scheduleEpollRebuildLocked(); } else { Loading @@ -571,7 +574,7 @@ int Looper::removeFd(int fd, int seq) { // our list of callbacks got out of sync with the epoll set somehow. // We defensively rebuild the epoll set to avoid getting spurious // notifications with nowhere to go. ALOGE("Error removing epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error removing epoll events for fd %d: %s", fd, strerror(errno)); scheduleEpollRebuildLocked(); return -1; } Loading libutils/ProcessCallStack.cpp +9 −8 Original line number Diff line number Diff line Loading @@ -17,9 +17,10 @@ #define LOG_TAG "ProcessCallStack" // #define LOG_NDEBUG 0 #include <string.h> #include <stdio.h> #include <dirent.h> #include <errno.h> #include <stdio.h> #include <string.h> #include <utils/Log.h> #include <utils/Errors.h> Loading Loading @@ -135,8 +136,8 @@ void ProcessCallStack::update() { dp = opendir(PATH_SELF_TASK); if (dp == NULL) { ALOGE("%s: Failed to update the process's call stacks (errno = %d, '%s')", __FUNCTION__, errno, strerror(errno)); ALOGE("%s: Failed to update the process's call stacks: %s", __FUNCTION__, strerror(errno)); return; } Loading Loading @@ -172,8 +173,8 @@ void ProcessCallStack::update() { ssize_t idx = mThreadMap.add(tid, ThreadInfo()); if (idx < 0) { // returns negative error value on error ALOGE("%s: Failed to add new ThreadInfo (errno = %zd, '%s')", __FUNCTION__, idx, strerror(-idx)); ALOGE("%s: Failed to add new ThreadInfo: %s", __FUNCTION__, strerror(-idx)); continue; } Loading @@ -195,8 +196,8 @@ void ProcessCallStack::update() { __FUNCTION__, tid, threadInfo.callStack.size()); } if (code != 0) { // returns positive error value on error ALOGE("%s: Failed to readdir from %s (errno = %d, '%s')", __FUNCTION__, PATH_SELF_TASK, -code, strerror(code)); ALOGE("%s: Failed to readdir from %s: %s", __FUNCTION__, PATH_SELF_TASK, strerror(code)); } #endif Loading libutils/SystemClock.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <sys/time.h> #include <limits.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include <utils/SystemClock.h> Loading libutils/Threads.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <memory.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #if !defined(_WIN32) Loading Loading @@ -160,9 +161,9 @@ int androidCreateRawThreadEtc(android_thread_func_t entryFunction, (android_pthread_entry)entryFunction, userData); pthread_attr_destroy(&attr); if (result != 0) { ALOGE("androidCreateRawThreadEtc failed (entry=%p, res=%d, errno=%d)\n" ALOGE("androidCreateRawThreadEtc failed (entry=%p, res=%d, %s)\n" "(android threadPriority=%d)", entryFunction, result, errno, threadPriority); entryFunction, result, strerror(errno), threadPriority); return 0; } Loading libutils/Tokenizer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -56,12 +56,12 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { int fd = ::open(filename.string(), O_RDONLY); if (fd < 0) { result = -errno; ALOGE("Error opening file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error opening file '%s': %s", filename.string(), strerror(errno)); } else { struct stat stat; if (fstat(fd, &stat)) { result = -errno; ALOGE("Error getting size of file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error getting size of file '%s': %s", filename.string(), strerror(errno)); } else { size_t length = size_t(stat.st_size); Loading @@ -83,7 +83,7 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { ssize_t nrd = read(fd, buffer, length); if (nrd < 0) { result = -errno; ALOGE("Error reading file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error reading file '%s': %s", filename.string(), strerror(errno)); delete[] buffer; buffer = NULL; } else { Loading Loading
libutils/Looper.cpp +20 −17 Original line number Diff line number Diff line Loading @@ -17,11 +17,13 @@ #include <utils/Looper.h> #include <utils/Timers.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <limits.h> #include <inttypes.h> #include <string.h> #include <sys/eventfd.h> #include <unistd.h> namespace android { Loading Loading @@ -73,7 +75,8 @@ Looper::Looper(bool allowNonCallbacks) : mPolling(false), mEpollFd(-1), mEpollRebuildRequired(false), mNextRequestSeq(0), mResponseIndex(0), mNextMessageUptime(LLONG_MAX) { mWakeEventFd = eventfd(0, EFD_NONBLOCK); LOG_ALWAYS_FATAL_IF(mWakeEventFd < 0, "Could not make wake event fd. errno=%d", errno); LOG_ALWAYS_FATAL_IF(mWakeEventFd < 0, "Could not make wake event fd: %s", strerror(errno)); AutoMutex _l(mLock); rebuildEpollLocked(); Loading Loading @@ -148,15 +151,15 @@ void Looper::rebuildEpollLocked() { // Allocate the new epoll instance and register the wake pipe. mEpollFd = epoll_create(EPOLL_SIZE_HINT); LOG_ALWAYS_FATAL_IF(mEpollFd < 0, "Could not create epoll instance. errno=%d", errno); LOG_ALWAYS_FATAL_IF(mEpollFd < 0, "Could not create epoll instance: %s", strerror(errno)); struct epoll_event eventItem; memset(& eventItem, 0, sizeof(epoll_event)); // zero out unused members of data field union eventItem.events = EPOLLIN; eventItem.data.fd = mWakeEventFd; int result = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, mWakeEventFd, & eventItem); LOG_ALWAYS_FATAL_IF(result != 0, "Could not add wake event fd to epoll instance. errno=%d", errno); LOG_ALWAYS_FATAL_IF(result != 0, "Could not add wake event fd to epoll instance: %s", strerror(errno)); for (size_t i = 0; i < mRequests.size(); i++) { const Request& request = mRequests.valueAt(i); Loading @@ -165,8 +168,8 @@ void Looper::rebuildEpollLocked() { int epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, request.fd, & eventItem); if (epollResult < 0) { ALOGE("Error adding epoll events for fd %d while rebuilding epoll set, errno=%d", request.fd, errno); ALOGE("Error adding epoll events for fd %d while rebuilding epoll set: %s", request.fd, strerror(errno)); } } } Loading Loading @@ -265,7 +268,7 @@ int Looper::pollInner(int timeoutMillis) { if (errno == EINTR) { goto Done; } ALOGW("Poll failed with an unexpected error, errno=%d", errno); ALOGW("Poll failed with an unexpected error: %s", strerror(errno)); result = POLL_ERROR; goto Done; } Loading Loading @@ -410,7 +413,7 @@ void Looper::wake() { ssize_t nWrite = TEMP_FAILURE_RETRY(write(mWakeEventFd, &inc, sizeof(uint64_t))); if (nWrite != sizeof(uint64_t)) { if (errno != EAGAIN) { ALOGW("Could not write wake signal, errno=%d", errno); ALOGW("Could not write wake signal: %s", strerror(errno)); } } } Loading Loading @@ -474,7 +477,7 @@ int Looper::addFd(int fd, int ident, int events, const sp<LooperCallback>& callb if (requestIndex < 0) { int epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, & eventItem); if (epollResult < 0) { ALOGE("Error adding epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error adding epoll events for fd %d: %s", fd, strerror(errno)); return -1; } mRequests.add(fd, request); Loading @@ -497,18 +500,18 @@ int Looper::addFd(int fd, int ident, int events, const sp<LooperCallback>& callb // call instead, but that approach carries others disadvantages. #if DEBUG_CALLBACKS ALOGD("%p ~ addFd - EPOLL_CTL_MOD failed due to file descriptor " "being recycled, falling back on EPOLL_CTL_ADD, errno=%d", this, errno); "being recycled, falling back on EPOLL_CTL_ADD: %s", this, strerror(errno)); #endif epollResult = epoll_ctl(mEpollFd, EPOLL_CTL_ADD, fd, & eventItem); if (epollResult < 0) { ALOGE("Error modifying or adding epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error modifying or adding epoll events for fd %d: %s", fd, strerror(errno)); return -1; } scheduleEpollRebuildLocked(); } else { ALOGE("Error modifying epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error modifying epoll events for fd %d: %s", fd, strerror(errno)); return -1; } } Loading Loading @@ -563,7 +566,7 @@ int Looper::removeFd(int fd, int seq) { // call instead, but that approach carries others disadvantages. #if DEBUG_CALLBACKS ALOGD("%p ~ removeFd - EPOLL_CTL_DEL failed due to file descriptor " "being closed, errno=%d", this, errno); "being closed: %s", this, strerror(errno)); #endif scheduleEpollRebuildLocked(); } else { Loading @@ -571,7 +574,7 @@ int Looper::removeFd(int fd, int seq) { // our list of callbacks got out of sync with the epoll set somehow. // We defensively rebuild the epoll set to avoid getting spurious // notifications with nowhere to go. ALOGE("Error removing epoll events for fd %d, errno=%d", fd, errno); ALOGE("Error removing epoll events for fd %d: %s", fd, strerror(errno)); scheduleEpollRebuildLocked(); return -1; } Loading
libutils/ProcessCallStack.cpp +9 −8 Original line number Diff line number Diff line Loading @@ -17,9 +17,10 @@ #define LOG_TAG "ProcessCallStack" // #define LOG_NDEBUG 0 #include <string.h> #include <stdio.h> #include <dirent.h> #include <errno.h> #include <stdio.h> #include <string.h> #include <utils/Log.h> #include <utils/Errors.h> Loading Loading @@ -135,8 +136,8 @@ void ProcessCallStack::update() { dp = opendir(PATH_SELF_TASK); if (dp == NULL) { ALOGE("%s: Failed to update the process's call stacks (errno = %d, '%s')", __FUNCTION__, errno, strerror(errno)); ALOGE("%s: Failed to update the process's call stacks: %s", __FUNCTION__, strerror(errno)); return; } Loading Loading @@ -172,8 +173,8 @@ void ProcessCallStack::update() { ssize_t idx = mThreadMap.add(tid, ThreadInfo()); if (idx < 0) { // returns negative error value on error ALOGE("%s: Failed to add new ThreadInfo (errno = %zd, '%s')", __FUNCTION__, idx, strerror(-idx)); ALOGE("%s: Failed to add new ThreadInfo: %s", __FUNCTION__, strerror(-idx)); continue; } Loading @@ -195,8 +196,8 @@ void ProcessCallStack::update() { __FUNCTION__, tid, threadInfo.callStack.size()); } if (code != 0) { // returns positive error value on error ALOGE("%s: Failed to readdir from %s (errno = %d, '%s')", __FUNCTION__, PATH_SELF_TASK, -code, strerror(code)); ALOGE("%s: Failed to readdir from %s: %s", __FUNCTION__, PATH_SELF_TASK, strerror(code)); } #endif Loading
libutils/SystemClock.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ #include <sys/time.h> #include <limits.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include <utils/SystemClock.h> Loading
libutils/Threads.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #include <memory.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #if !defined(_WIN32) Loading Loading @@ -160,9 +161,9 @@ int androidCreateRawThreadEtc(android_thread_func_t entryFunction, (android_pthread_entry)entryFunction, userData); pthread_attr_destroy(&attr); if (result != 0) { ALOGE("androidCreateRawThreadEtc failed (entry=%p, res=%d, errno=%d)\n" ALOGE("androidCreateRawThreadEtc failed (entry=%p, res=%d, %s)\n" "(android threadPriority=%d)", entryFunction, result, errno, threadPriority); entryFunction, result, strerror(errno), threadPriority); return 0; } Loading
libutils/Tokenizer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -56,12 +56,12 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { int fd = ::open(filename.string(), O_RDONLY); if (fd < 0) { result = -errno; ALOGE("Error opening file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error opening file '%s': %s", filename.string(), strerror(errno)); } else { struct stat stat; if (fstat(fd, &stat)) { result = -errno; ALOGE("Error getting size of file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error getting size of file '%s': %s", filename.string(), strerror(errno)); } else { size_t length = size_t(stat.st_size); Loading @@ -83,7 +83,7 @@ status_t Tokenizer::open(const String8& filename, Tokenizer** outTokenizer) { ssize_t nrd = read(fd, buffer, length); if (nrd < 0) { result = -errno; ALOGE("Error reading file '%s', %s.", filename.string(), strerror(errno)); ALOGE("Error reading file '%s': %s", filename.string(), strerror(errno)); delete[] buffer; buffer = NULL; } else { Loading