Right, that's a valid concern. The issue is that some code needs to watch for new files/directories (like the desktop needs to pick new applications when they get installed), and we don't have anything better than inotify to do that at the moment.
Our options seem to: - work on something better than inotify and start using that (not likely to happen soon I guess) - accept the wakeups and their cost - keep working around the issues, either by making code use less watching (with the side effect of gettings bugs/not being notified of the environment changes) or by adding hacks (like creating empty directories that are not needed on the default installation) -- 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