From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Daniel Mendler Newsgroups: gmane.emacs.devel Subject: Re: Interrupting computations using signals Date: Mon, 24 May 2021 16:08:07 +0200 Message-ID: <6eff79e8-0317-b169-eb70-ae8ee969222b@daniel-mendler.de> References: <83cztge1i6.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="29543"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 24 16:13:12 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1llBKS-0007SQ-2w for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 16:13:12 +0200 Original-Received: from localhost ([::1]:42208 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1llBKQ-00038U-GY for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 10:13:10 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37562) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llBFe-0006UB-Fh for emacs-devel@gnu.org; Mon, 24 May 2021 10:08:14 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:47091 helo=mail.qxqx.de) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1llBFb-00079K-DC; Mon, 24 May 2021 10:08:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=qxqx.de; s=mail1392553390; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: MIME-Version:Date:Message-ID:From:References:Cc:To:Subject:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=XtXQ58dMAfyy7y2TE0Tz2tAkU1eZWriEL+E7tzLzP/g=; b=E0fSKSOHFUV51YEQU4QXSazwYE /16L3KvZ1GWCZJjlyJ08K8rlpuJqhjfia/WjWNC0VUj286joeHIGOxFTisyaJzueiUpM8vmQ/wvT5 sE3MGuovkPs3/C4veAu41cnXv3w9qtlfsC1Qgk+DjMKllwMmoV4/m1SI4dh+HxVE2zEg=; In-Reply-To: <83cztge1i6.fsf@gnu.org> Content-Language: en-US Received-SPF: pass client-ip=2a01:4f8:121:346::180; envelope-from=mail@daniel-mendler.de; helo=mail.qxqx.de X-Spam_score_int: -41 X-Spam_score: -4.2 X-Spam_bar: ---- X-Spam_report: (-4.2 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:269756 Archived-At: On 5/24/21 2:53 PM, Eli Zaretskii wrote: >> I've read something in the manual about SIGUSR1/SIGUSR2 but I could not >> get these handlers to work in an Emacs running in daemon or batch mode. > > Show us the code. I have a file "interrupt.el" containing this code: ~~~ (defun sigusr-handler () (interactive) (message "Caught signal %S" last-input-event)) (define-key special-event-map [sigusr1] 'sigusr-handler) (define-key special-event-map [sigusr2] 'sigusr-handler) (condition-case nil (while t (with-local-quit (while t (sleep-for 0.1))) (message "QUIT")) (t (message "OUTER QUIT"))) ~~~ 1. I start the batch process with "emacs -Q --batch -l interrupt.el" or "emacs -Q --fg-daemon -l interrupt.el". 2. I send a SIGUSR1 signal to the process. The signal is ignored. Nothing happens, in particular the handler is not called. 3. I send a SIGUSR2 signal to the process. The process terminates with the message "Debugger entered--beginning evaluation of function call form: * (setq quit-flag t)...". I neither see the "QUIT" nor the "OUTER QUIT" message. Daniel