1. Lightdm wants to close a greeter and sends SIGTERM to it. 2. Greeter catches that signal and calls gtk_main_quit() to stop main gtk loop. 3. There is a gdk_flush() call inside gtk_main → it calls gdk_display_sync() → XSync() → deadlock. 4. Greeter hangs. Reproducible: Always Steps to Reproduce: 1. emerge =x11-libs/gtk+-3.16.7 2. emerge ligthdm-gtk-greeter 3. login by use lightdm 4. lock session by "dm-tool --lock" 5. unlock session by use lightdm 6. ps ax | grep lightdm-gtk-greeter Actual Results: Many lightdm-gtk-greeter process after session lock/unlock. Expected Results: One or no greeter process after login This problem described at https://code.launchpad.net/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/lp-1445461-leave-instance/+merge/258352. Need to add configure option --enable-kill-on-sigterm.
Fixed in 2.0.1-r1