1. 27 Oct, 2015 3 commits
  2. 20 Oct, 2015 1 commit
  3. 21 Sep, 2015 2 commits
  4. 20 Sep, 2015 1 commit
  5. 16 Sep, 2015 2 commits
  6. 14 Sep, 2015 2 commits
  7. 11 Sep, 2015 1 commit
  8. 10 Sep, 2015 6 commits
  9. 04 Sep, 2015 1 commit
  10. 26 Aug, 2015 1 commit
  11. 24 Aug, 2015 4 commits
  12. 14 Aug, 2015 4 commits
  13. 28 Jul, 2015 1 commit
  14. 26 Jul, 2015 1 commit
  15. 22 Jul, 2015 1 commit
  16. 20 Jul, 2015 2 commits
  17. 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)
    • 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:
      <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>
    • 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
    • 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.
  18. 05 Jul, 2015 1 commit
  19. 02 Jul, 2015 1 commit
  20. 01 Jul, 2015 1 commit