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: Interrupting computations using signals Date: Mon, 24 May 2021 14:32:05 +0200 Message-ID: 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="9952"; mail-complaints-to="usenet@ciao.gmane.io" To: "emacs-devel@gnu.org" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon May 24 14:33:30 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 1ll9ly-0002Lz-6r for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 14:33:30 +0200 Original-Received: from localhost ([::1]:58390 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ll9lw-0005ra-3N for ged-emacs-devel@m.gmane-mx.org; Mon, 24 May 2021 08:33:28 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:43318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ll9km-00059h-0h for emacs-devel@gnu.org; Mon, 24 May 2021 08:32:16 -0400 Original-Received: from server.qxqx.de ([2a01:4f8:121:346::180]:51351 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 1ll9kg-0005md-5y for emacs-devel@gnu.org; Mon, 24 May 2021 08:32:15 -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:MIME-Version:Date: Message-ID:Subject:From:To:Sender:Reply-To:Cc:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=iE6izdXsoSU+vf6aBn6J8F6s3ypbshvT1Vn87nYadA4=; b=ZBOfRqR56yvmoPmzoj4irscUr8 qA1ANj2MiGKt3/dqn1VImPoKmgHWKTBL2jx2pIwDcvIscXDWpBOwA49BBSKY70N0RnXdtbr3VaQt9 zaOvfYSCZTAwCoV7Q/8FtToRoBqKivCvAGGPVEhlYFxsNtGED+4jdD52DXu538nRmkiI=; 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:269750 Archived-At: If Emacs is running in GUI mode, I can interrupt computations by pressing `C-g` (keyboard-quit). Is there also a possibility to submit such an interrupt from outside, via signals or via another mechanism? This feature would be useful when running computations in an external Emacs worker process. Ideally there is some API which allows to enable external interrupts only within an interruptible section. Note that I can always terminate a worker process via the OS mechanisms, but that is not the point here, I want to make it interruptible instead. 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. Daniel