unity-greeter has code to kill upstart, but for some reason this isn't being executed. My best guess is that unity-greeter often (if not always) dies before it exits the GTK main loop. Does it receive a second SIGTERM, or a SIGPIPE? (When lightdm says "Stopping display server, no sessions require it", I would think.) This should be testable.
Amending my earlier comment #7, I do see "Got a SIGTERM" some of the time, but I hardly ever see "Cleaning up" (when unlocking; new logins are another story). Indeed upstart is not to blame: it shuts itself off cleanly when signalled; the problem seems to be that unity-greeter doesn't send out that signal as it is supposed to.
unity-greeter has code to kill upstart, but for some reason this isn't being executed. My best guess is that unity-greeter often (if not always) dies before it exits the GTK main loop. Does it receive a second SIGTERM, or a SIGPIPE? (When lightdm says "Stopping display server, no sessions require it", I would think.) This should be testable.
Amending my earlier comment #7, I do see "Got a SIGTERM" some of the time, but I hardly ever see "Cleaning up" (when unlocking; new logins are another story). Indeed upstart is not to blame: it shuts itself off cleanly when signalled; the problem seems to be that unity-greeter doesn't send out that signal as it is supposed to.