[Bug 1339244] Re: Comparison of exit_status in run_custom_command is wrong

Robert Ancell robert.ancell at canonical.com
Sun Jul 13 23:58:46 UTC 2014


** Bug watch added: GNOME Bug Tracker #710791
   https://bugzilla.gnome.org/show_bug.cgi?id=710791

** Also affects: gnome-settings-daemon via
   https://bugzilla.gnome.org/show_bug.cgi?id=710791
   Importance: Unknown
       Status: Unknown

** Also affects: unity-settings-daemon (Ubuntu)
   Importance: Undecided
       Status: New

** Branch linked: lp:~robert-ancell/unity-settings-daemon/check-exit-
status

** Changed in: gnome-settings-daemon (Ubuntu)
   Importance: Undecided => Medium

** Changed in: gnome-settings-daemon (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: unity-settings-daemon (Ubuntu Trusty)
   Importance: Undecided => Medium

** Changed in: unity-settings-daemon (Ubuntu Trusty)
       Status: New => Triaged

** Changed in: unity-settings-daemon (Ubuntu)
   Importance: Undecided => Medium

** Changed in: unity-settings-daemon (Ubuntu)
       Status: New => Triaged

** Changed in: gnome-settings-daemon (Ubuntu Trusty)
       Status: New => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1339244

Title:
  Comparison of exit_status in run_custom_command is wrong

Status in Gnome Settings Daemon:
  Unknown
Status in “gnome-settings-daemon” package in Ubuntu:
  Fix Released
Status in “unity-settings-daemon” package in Ubuntu:
  Triaged
Status in “gnome-settings-daemon” source package in Trusty:
  Triaged
Status in “unity-settings-daemon” source package in Trusty:
  Triaged

Bug description:
  In file /plugins/common/gsd-input-helper.c in function
  run_custom_command the variable exit_status doesn't contain the exit
  status of the process, so the statement "return (exit_status == 1);"
  is wrong.

  The documentation (https://developer.gnome.org/glib/stable/glib-Spawning-Processes.html#g-spawn-sync) says:
  exit_status    return location for child exit status, as returned by waitpid(), or NULL.

  And in the documentation of waitpid
  (http://linux.die.net/man/2/waitpid) exit_status is described.

  You have to do something like this:
  if (WIFEXITED(exit_status) == FALSE) {
      return FALSE;
  }
  return (WEXITSTATUS(exit_status) == 1);

To manage notifications about this bug go to:
https://bugs.launchpad.net/gnome-settings-daemon/+bug/1339244/+subscriptions



More information about the Ubuntu-sponsors mailing list