1. 14 Aug, 2015 1 commit
  2. 28 Jul, 2015 1 commit
  3. 26 Jul, 2015 1 commit
  4. 22 Jul, 2015 1 commit
  5. 20 Jul, 2015 2 commits
  6. 14 Jul, 2015 4 commits
    • Ray Strode's avatar
      gdm-wayland-session: kill subprocesses on sigterm · 8f21c90c
      Ray Strode authored
      This is like commit 90a095e1
      but for wayland sessions.
      
      (probably should deduplicate that code at some point, but
       that's a project for another day)
      
      https://bugzilla.gnome.org/show_bug.cgi?id=752388
      8f21c90c
    • Ray Strode's avatar
      gdm-x-session: kill subprocesses on sigterm · 90a095e1
      Ray Strode authored
      <dsd> Jasper: can you explain the logic bug? just curious
      <Jasper> dsd, GCancellable is a way of cancelling an ongoing operation.
      <Jasper> dsd, so we start up a wait_async, which says "call this
               callback when the subprocess exits". And then when we get a
               SIGTERM, we fire off the cancellable, saying "no no, don't
               actually wait for to finish, let's just cancel that now"
      <Jasper> dsd, the callback is called, but wait_finish returns FALSE,
               meaning that the wait was cancelled. And then the callback says
               "oh, cool, we're done here" and clears the x_session object.
      <Jasper> dsd, I'd have to inspect closer to determine a proper fix
               should we still cancel the wait but not actually clear the
               object, so we wait synchronously in cleanup?)
      <Jasper> Depends on what else uses the cancellable.
      <dsd> ahh
      <dsd> got it
      <Jasper> dsd, the other thing that should fix it would be moving the
               g_clear_object above the "out" label here:
               https://git.gnome.org/browse/gdm/tree/daemon/gdm-x-session.c?h=gnome-3-16#n185
      <Jasper> And doing that for all of session / bus / x subprocesses.
      <Jasper> Maybe that's the cleaner fix.
      
      Based on a patch by João Paulo Rechi Vita <jprvita@endlessm.com>
      
      [endlessm/eos-shell#4921]
      
      https://bugzilla.gnome.org/show_bug.cgi?id=752388
      90a095e1
    • João Paulo Rechi Vita's avatar
      Make gdm-session-worker exit cleanly · 18718022
      João Paulo Rechi Vita authored
      Calling gdm_session_stop_conversation() in gdm_launch_environment_stop()
      sends a SIGTERM to gdm-session-worker without waiting for it to die. The
      next step is calling gdm_session_close() to close the session, which
      stops all conversations of that session object, sending a 2nd SIGTERM to
      gdm-session-worker, this time waiting on its PID.
      
      On gdm-session-worker side, the first SIGTERM is caught by
      on_shutdown_signal(), its custom SIGTERM handler, which quits the
      mainloop and unrefs the worker object. Quiting the mainloop replaces the
      custom SIGTERM handler with the system default one (exit immediately).
      During the worker object class finalization gdm-session-worker may
      receive the 2nd SIGTERM, which leads to its immediate termination,
      without waiting for its children, which in turn leads to the main gdm
      process exit.
      
      Since systemd relies on the SIGCHLD from the main gdm process to tell
      when the service has stopped, this behavior breaks any unit that has a
      Conflicts=gdm.service entry and relies on the X server not being around
      when it is started.
      
      This commit removes the call to gdm_session_stop_conversation() in
      gdm_launch_environment_stop() and leaves it to be stopped in
      gdm_session_close().
      
      [endlessm/eos-shell#4921]
      
      https://bugzilla.gnome.org/show_bug.cgi?id=752388
      18718022
    • Michael Biebl's avatar
      build: transition to libsystemd · eee5bf72
      Michael Biebl authored
      In systemd v209 the various libraries were merged into a single
      libsystemd library. So update configure checks to use the new name.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=752164
      eee5bf72
  7. 05 Jul, 2015 1 commit
  8. 02 Jul, 2015 1 commit
  9. 01 Jul, 2015 1 commit
  10. 29 Jun, 2015 1 commit
  11. 23 Jun, 2015 5 commits
  12. 22 Jun, 2015 2 commits
  13. 20 Jun, 2015 1 commit
  14. 14 Jun, 2015 1 commit
  15. 12 Jun, 2015 3 commits
  16. 04 Jun, 2015 1 commit
  17. 03 Jun, 2015 3 commits
    • Ray Strode's avatar
      configure: bump to 3.17.2 · 48b7ecdc
      Ray Strode authored
      48b7ecdc
    • Ray Strode's avatar
      NEWS: update for release · 0f976ad2
      Ray Strode authored
      0f976ad2
    • David Herrmann's avatar
      gdm-{x,wayland}-session: don't start dbus-daemon if unneeded · 37c30a49
      David Herrmann authored
      Desktop sessions require a message bus to be present for IPC between
      the various desktop services and applications.
      
      GDM handles that by manually, unconditionally spawning an instance of
      dbus-daemon at login time before starting the user session (from the
      gdm-x-session and gdm-wayland-session launcher programs).
      
      Newer versions of the kernel will support this message bus functionality
      without needing to start dbus-daemon (via kdbus). The message bus is
      initialized as part of the login process by a kernel interface exercised
      from pam_systemd.
      
      Since gdm-x-session and gdm-wayland-session spawn a dbus-daemon
      unconditionally as part of session startup, users using kdbus end up with
      two message buses per session. The extra bus gets in the way, confusing
      programs and wasting resources.
      
      This commit changes gdm-x-session and gdm-wayland-session to check for
      DBUS_SESSION_BUS_ADDRESS in the environment, and if set, skip spawning
      a dbus-daemon based session bus.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=750358
      37c30a49
  18. 02 Jun, 2015 1 commit
  19. 01 Jun, 2015 2 commits
  20. 27 May, 2015 1 commit
    • Richard Bradfield's avatar
      manager: fix monitor hotplug segfault · c229f904
      Richard Bradfield authored
      commit e5a0e92f introduced a way to
      find a user session associated with a display object.
      
      That function has a bug in it, where it skips every even
      registered user session because it follows the next pointer
      twice per iteration of the loop.
      
      This can cause a crash on monitor hotplug, and in other scenarios
      if there are an odd number of user sessions (since the
      terminating NULL will be even and skipped over).
      
      https://bugzilla.gnome.org/show_bug.cgi?id=749987
      c229f904
  21. 24 May, 2015 1 commit
  22. 03 May, 2015 1 commit
  23. 29 Apr, 2015 1 commit
  24. 28 Apr, 2015 1 commit
  25. 23 Apr, 2015 1 commit
  26. 16 Apr, 2015 1 commit