how about you make the indicator (ab)use upstart for this, it has file
watchers already and could send an event the indicator could pick up
(hoping that systemd offers something equivalent indeed)

-- 
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

Reply via email to