diff options
Diffstat (limited to 'libsuspend/autosuspend_earlysuspend.c')
-rw-r--r-- | libsuspend/autosuspend_earlysuspend.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/libsuspend/autosuspend_earlysuspend.c b/libsuspend/autosuspend_earlysuspend.c index 2bece4c..3793a69 100644 --- a/libsuspend/autosuspend_earlysuspend.c +++ b/libsuspend/autosuspend_earlysuspend.c @@ -49,11 +49,9 @@ int wait_for_fb_wake(void) { int err = 0; char buf; - int fd = open(EARLYSUSPEND_WAIT_FOR_FB_WAKE, O_RDONLY, 0); + int fd = TEMP_FAILURE_RETRY(open(EARLYSUSPEND_WAIT_FOR_FB_WAKE, O_RDONLY, 0)); // if the file doesn't exist, the error will be caught in read() below - do { - err = read(fd, &buf, 1); - } while (err < 0 && errno == EINTR); + err = TEMP_FAILURE_RETRY(read(fd, &buf, 1)); ALOGE_IF(err < 0, "*** ANDROID_WAIT_FOR_FB_WAKE failed (%s)", strerror(errno)); close(fd); @@ -64,11 +62,9 @@ static int wait_for_fb_sleep(void) { int err = 0; char buf; - int fd = open(EARLYSUSPEND_WAIT_FOR_FB_SLEEP, O_RDONLY, 0); + int fd = TEMP_FAILURE_RETRY(open(EARLYSUSPEND_WAIT_FOR_FB_SLEEP, O_RDONLY, 0)); // if the file doesn't exist, the error will be caught in read() below - do { - err = read(fd, &buf, 1); - } while (err < 0 && errno == EINTR); + err = TEMP_FAILURE_RETRY(read(fd, &buf, 1)); ALOGE_IF(err < 0, "*** ANDROID_WAIT_FOR_FB_SLEEP failed (%s)", strerror(errno)); close(fd); @@ -134,7 +130,7 @@ static int autosuspend_earlysuspend_disable(void) ALOGV("autosuspend_earlysuspend_disable\n"); - ret = write(sPowerStatefd, pwr_state_on, strlen(pwr_state_on)); + ret = TEMP_FAILURE_RETRY(write(sPowerStatefd, pwr_state_on, strlen(pwr_state_on))); if (ret < 0) { strerror_r(errno, buf, sizeof(buf)); ALOGE("Error writing to %s: %s\n", EARLYSUSPEND_SYS_POWER_STATE, buf); @@ -195,7 +191,7 @@ struct autosuspend_ops *autosuspend_earlysuspend_init(void) char buf[80]; int ret; - sPowerStatefd = open(EARLYSUSPEND_SYS_POWER_STATE, O_RDWR); + sPowerStatefd = TEMP_FAILURE_RETRY(open(EARLYSUSPEND_SYS_POWER_STATE, O_RDWR)); if (sPowerStatefd < 0) { strerror_r(errno, buf, sizeof(buf)); @@ -203,7 +199,7 @@ struct autosuspend_ops *autosuspend_earlysuspend_init(void) return NULL; } - ret = write(sPowerStatefd, "on", 2); + ret = TEMP_FAILURE_RETRY(write(sPowerStatefd, "on", 2)); if (ret < 0) { strerror_r(errno, buf, sizeof(buf)); ALOGW("Error writing 'on' to %s: %s\n", EARLYSUSPEND_SYS_POWER_STATE, buf); |