diff --git a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp index 0c7e665..9c72812 100644 --- a/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp +++ b/services/surfaceflinger/DisplayHardware/DisplayHardwareBase.cpp @@ -72,8 +72,10 @@ bool DisplayHardwareBase::DisplayEventThread::threadLoop() int fd; fd = open(kSleepFileName, O_RDONLY, 0); - if (fd == -1 && errno == ENOENT) + if (fd == -1 && errno == ENOENT) { + usleep(166667); // Sleep to avoid 100% CPU usage. return true; // End silently if FB_EARLYSUSPEND appears to be missing, as on kernels >= 3.3 + } do { err = read(fd, &buf, 1); } while (err < 0 && errno == EINTR);