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

Commit ddcb1c2b authored by Mathias Agopian's avatar Mathias Agopian Committed by Android (Google) Code Review
Browse files

Merge "return errors properly in BitTube and SensorEventQueue" into jb-dev

parents 5b38a1df 29267fe8
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -140,8 +140,7 @@ ssize_t BitTube::sendObjects(const sp<BitTube>& tube,
        ssize_t size = tube->write(vaddr, objSize);
        if (size < 0) {
            // error occurred
            numObjects = -size;
            break;
            return size;
        } else if (size == 0) {
            // no more space
            break;
@@ -160,8 +159,7 @@ ssize_t BitTube::recvObjects(const sp<BitTube>& tube,
        ssize_t size = tube->read(vaddr, objSize);
        if (size < 0) {
            // error occurred
            numObjects = -size;
            break;
            return size;
        } else if (size == 0) {
            // no more messages
            break;
+9 −2
Original line number Diff line number Diff line
@@ -79,14 +79,21 @@ status_t SensorEventQueue::waitForEvent() const
    const int fd = getFd();
    sp<Looper> looper(getLooper());

    int events;
    int32_t result;
    do {
        result = looper->pollOnce(-1);
        if (result == ALOOPER_EVENT_ERROR) {
        result = looper->pollOnce(-1, NULL, &events, NULL);
        if (result == ALOOPER_POLL_ERROR) {
            ALOGE("SensorEventQueue::waitForEvent error (errno=%d)", errno);
            result = -EPIPE; // unknown error, so we make up one
            break;
        }
        if (events & ALOOPER_EVENT_HANGUP) {
            // the other-side has died
            ALOGE("SensorEventQueue::waitForEvent error HANGUP");
            result = -EPIPE; // unknown error, so we make up one
            break;
        }
    } while (result != fd);

    return  (result == fd) ? status_t(NO_ERROR) : result;