@Oliver, it would be surprising if upstart wouldn't get the same issue. The problem here is that the mechanism provided by the kernel (inotify) is not handling those usecases in a nice way, what client is using the interface is not going to change that, you are just going to move the wakeups to the upstart job (upstart might be able to reduce/share the polling if several processes watch the same location though, but I'm unsure that's the case here)
-- You received this bug notification because you are a member of DX Packages, which is subscribed to indicator-messages in Ubuntu. Matching subscriptions: dx-packages https://bugs.launchpad.net/bugs/1308130 Title: indicator-messages-service is waking up every 4 seconds adding inotifies on paths that don't exist Status in “indicator-messages” package in Ubuntu: Confirmed Bug description: I've observed that an "idle" indicator-messages-services is waking up every 4 seconds on a poll() and doing two inotify_add_watch() calls on paths that don't exist, which wastes power on devices such as phones. strace shows: clock_gettime(CLOCK_MONOTONIC, {10117, 224455428}) = 0 poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}], 2, 3991) = 0 (Timeout) clock_gettime(CLOCK_MONOTONIC, {10121, 224516469}) = 0 inotify_add_watch(9, "/usr/local/share/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory) inotify_add_watch(9, "/usr/share/ubuntu-touch/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory) clock_gettime(CLOCK_MONOTONIC, {10121, 232085521}) = 0 poll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}], 2, 3984) = 0 (Timeout) clock_gettime(CLOCK_MONOTONIC, {10125, 222593684}) = 0 inotify_add_watch(9, "/usr/local/share/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory) inotify_add_watch(9, "/usr/share/ubuntu-touch/applications", IN_MODIFY|IN_ATTRIB|IN_CLOSE_WRITE|IN_MOVED_FROM|IN_MOVED_TO|IN_CREATE|IN_DELETE|IN_DELETE_SELF|IN_MOVE_SELF|IN_UNMOUNT|IN_ONLYDIR) = -1 ENOENT (No such file or directory) clock_gettime(CLOCK_MONOTONIC, {10125, 229094524}) = 0 Can these redundant polling checks be reduced or removed? Polling every 4 seconds is a little bit heavy handed IMHO. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/indicator-messages/+bug/1308130/+subscriptions -- Mailing list: https://launchpad.net/~dx-packages Post to : dx-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~dx-packages More help : https://help.launchpad.net/ListHelp