From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#24326: 25.1; Daemon doesn't exit on Windows if kill-emacs-hook asks a question Date: Sun, 28 Aug 2016 22:09:51 +0300 Message-ID: <83shtobthc.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1472411483 28191 195.159.176.226 (28 Aug 2016 19:11:23 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 28 Aug 2016 19:11:23 +0000 (UTC) To: 24326@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun Aug 28 21:11:19 2016 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1be5UD-0006jD-TW for geb-bug-gnu-emacs@m.gmane.org; Sun, 28 Aug 2016 21:11:18 +0200 Original-Received: from localhost ([::1]:40592 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5U9-0001IY-Gt for geb-bug-gnu-emacs@m.gmane.org; Sun, 28 Aug 2016 15:11:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52339) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5U3-0001IE-DA for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:11:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1be5Ty-00018o-3G for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:11:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:45298) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5Ty-00018k-01 for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:11:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1be5Tx-00037z-Sb for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:11:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 28 Aug 2016 19:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 24326 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.147241142311972 (code B ref -1); Sun, 28 Aug 2016 19:11:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 28 Aug 2016 19:10:23 +0000 Original-Received: from localhost ([127.0.0.1]:43010 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1be5TL-000371-4W for submit@debbugs.gnu.org; Sun, 28 Aug 2016 15:10:23 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:32973) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1be5TJ-00036m-Ue for submit@debbugs.gnu.org; Sun, 28 Aug 2016 15:10:22 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1be5TC-0000sG-DJ for submit@debbugs.gnu.org; Sun, 28 Aug 2016 15:10:16 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:43879) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5TB-0000rR-Pd for submit@debbugs.gnu.org; Sun, 28 Aug 2016 15:10:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:52142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5T9-0001EA-Fx for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:10:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1be5T5-0000me-68 for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:10:10 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:53496) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1be5T5-0000l6-1m for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:10:07 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:3096 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_128_CBC_SHA1:128) (Exim 4.82) (envelope-from ) id 1be5T2-0003eC-E8 for bug-gnu-emacs@gnu.org; Sun, 28 Aug 2016 15:10:05 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:122748 Archived-At: Arrange for ~/.emacs to turn on desktop-save-mode in a way that causes Emacs to ask whether to save desktop on exit, then start a daemon like this emacsclient -c --alternate-editor="" SOME-FILE When a frame opens and shows a buffer visiting SOME-FILE, type M-x kill-emacs RET The frame will close, and emacsclient will exit, but the daemon it started will remain running. Worse, the daemon has shut down the server, so you cannot communicate with it, only kill it. The problem is that when Emacs asks whether to save the desktop, the user doesn't see the question, and even if she did, she cannot answer it because, with the last frame gone, there's no window procedure to supply input, so Emacs is stuck in pselect waiting for input that will never come. Unfortunately, a very similar situation happens when the last client frame is closed, but the daemon is not killed: in that case, Emacs waits in pselect for the next connection. So it is not easy to distinguish this situation from a daemon waiting normally for a connection. Not sure how to solve this. One possibility would be to disable the "Save desktop?" question in this case, on MS-Windows only, and instead act as if the answer is NO. desktop-kill is called from several places, so if we go this way, we will have to devise a way of figuring out that the question cannot be answered. In GNU Emacs 25.1.25 (i686-pc-mingw32) of 2016-08-27 built on HOME-C4E4A596F7 Repository revision: 17197d0ae9eac100b56078b2a48964b29710b76e Windowing system distributor 'Microsoft Corp.', version 5.1.2600 Configured using: 'configure --prefix=/d/usr --enable-checking=yes,glyphs --with-wide-int --with-modules 'CFLAGS=-O0 -gdwarf-4 -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS MODULES Important settings: value of $LANG: ENU locale-coding-system: cp1255 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message dired format-spec rfc822 mml mml-sec password-cache epg epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 multi-tty make-network-process emacs) Memory information: ((conses 16 93483 7377) (symbols 56 20757 0) (miscs 48 46 129) (strings 16 17781 5277) (string-bytes 1 441671) (vectors 16 12446) (vector-slots 8 432676 5026) (floats 8 162 229) (intervals 40 263 99) (buffers 856 21))