From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#63311: 30.0.50; [PATCH] smtpmail-send-it split Date: Fri, 12 May 2023 08:41:44 +0300 Message-ID: <83pm763y3r.fsf@gnu.org> References: <87jzxmsyyr.fsf@ledu-giraud.fr> <83ttwqhahy.fsf@gnu.org> <874joq34bk.fsf@ledu-giraud.fr> <83o7mygevr.fsf@gnu.org> <87wn1hzv9j.fsf@ledu-giraud.fr> <871qjoe7cw.fsf@ledu-giraud.fr> <837ctf575q.fsf@gnu.org> <87ilcypot3.fsf@ledu-giraud.fr> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19409"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 63311@debbugs.gnu.org To: Manuel Giraud Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri May 12 07:41:25 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1pxLWu-0004st-S2 for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 12 May 2023 07:41:24 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pxLWa-00054S-Ra; Fri, 12 May 2023 01:41:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxLWZ-00054J-5y for bug-gnu-emacs@gnu.org; Fri, 12 May 2023 01:41:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pxLWY-0004bW-TB for bug-gnu-emacs@gnu.org; Fri, 12 May 2023 01:41:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1pxLWY-0005rh-Dw for bug-gnu-emacs@gnu.org; Fri, 12 May 2023 01:41:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 12 May 2023 05:41:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63311 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 63311-submit@debbugs.gnu.org id=B63311.168387004422512 (code B ref 63311); Fri, 12 May 2023 05:41:02 +0000 Original-Received: (at 63311) by debbugs.gnu.org; 12 May 2023 05:40:44 +0000 Original-Received: from localhost ([127.0.0.1]:53800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxLWG-0005r2-9O for submit@debbugs.gnu.org; Fri, 12 May 2023 01:40:44 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:54064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pxLWE-0005qo-PM for 63311@debbugs.gnu.org; Fri, 12 May 2023 01:40:43 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxLW9-0004YI-1P; Fri, 12 May 2023 01:40:37 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=z9pNxXafUSXiq3NmqVfNpjVrv/BwruPr1ypARIaU6tU=; b=dART8eilJT1y js4O44Zyb9aENIaTKtkSrOoPUCsh/7mR9JgTVnLNsnl0rYfatiS50SmBO/wOANnyeJzlmIDvTEygw kUjrQOMaZwAgnaqxT1NIi9ivclsBmTkygrU2yM4r8DyqpNzQkXpQ4FPfa1aZj6USx28PvDDsKJBQO bUWrC7/vKzbAIhhCscLmGXn1A172vujkyvxYoRfZuM9TyqrZWmN2T5L6qhlH74Sy7CBJGMzUIZdzG Erxn3s/pK9vJjTUF4zNpVuSYF/6mH4Nu1UGUVLABwUkFD2AGYr0q4FkWHss2eUiY0kJE4wRSMzGAN KmiEMIjEmSvi2KDCXoTcng==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pxLW6-0002F6-HQ; Fri, 12 May 2023 01:40:36 -0400 In-Reply-To: <87ilcypot3.fsf@ledu-giraud.fr> (message from Manuel Giraud on Thu, 11 May 2023 22:59:20 +0200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:261602 Archived-At: > From: Manuel Giraud > Cc: 63311@debbugs.gnu.org > Date: Thu, 11 May 2023 22:59:20 +0200 > > (defun my-problem () > (interactive) > (let ((buf (generate-new-buffer "*foo*"))) > (with-current-buffer buf > (insert "secret message")) > (unwind-protect > (make-thread #'(lambda () > (with-current-buffer buf > (sit-for 10) > (message (buffer-string))))) > (kill-buffer buf)))) > --8<---------------cut here---------------end--------------->8--- > > The thread won't have a chance to do its job since the buffer will > already be dead. Of course. So you cannot do that, obviously. Cleanup that gets in the way of code you run in a thread must be done after thread-join returns, or when thread-live-p returns nil for the thread. Or use some other synchronization method. There could be several such threads alive at the same time, btw. In the unwind-protect handler of the main thread you can only do cleanup of stuff that the thread doesn't need, or if you are sure the thread was not started (due to some error that precludes the call to make-thread). I'm not aware of any other machinery we have for these cases.