From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Support threads in modules Date: Sat, 22 Apr 2017 22:49:45 +0300 Message-ID: <83tw5gp6hy.fsf@gnu.org> References: <20170422152444.48735-1-phst@google.com> <83zif8p8d3.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1492890595 20149 195.159.176.226 (22 Apr 2017 19:49:55 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sat, 22 Apr 2017 19:49:55 +0000 (UTC) Cc: phst@google.com, emacs-devel@gnu.org To: Philipp Stephani Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Apr 22 21:49:49 2017 Return-path: Envelope-to: ged-emacs-devel@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 1d212S-00051v-8g for ged-emacs-devel@m.gmane.org; Sat, 22 Apr 2017 21:49:48 +0200 Original-Received: from localhost ([::1]:36684 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d212U-0005SR-TW for ged-emacs-devel@m.gmane.org; Sat, 22 Apr 2017 15:49:50 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56303) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d211m-0005S6-TQ for emacs-devel@gnu.org; Sat, 22 Apr 2017 15:49:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d211m-0002Vg-01 for emacs-devel@gnu.org; Sat, 22 Apr 2017 15:49:06 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:54092) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d211g-0002UY-Qu; Sat, 22 Apr 2017 15:49:00 -0400 Original-Received: from 84.94.185.246.cable.012.net.il ([84.94.185.246]:4404 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d211g-0001z6-27; Sat, 22 Apr 2017 15:49:00 -0400 In-reply-to: (message from Philipp Stephani on Sat, 22 Apr 2017 19:21:35 +0000) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:214223 Archived-At: > From: Philipp Stephani > Date: Sat, 22 Apr 2017 19:21:35 +0000 > Cc: emacs-devel@gnu.org, phst@google.com > > Can you explain the purpose of these changes and the motivation? A > module shouldn't be restricted to be used by a single thread, should > it? > > No, but the thread used to create an environment object, the current Emacs thread, and the current OS thread > all have to match. Right now this isn't checked; the current code checks only for the main thread, which isn't > correct any more now that there can be more than one interpreter thread. I agree that checking for the main thread is not TRT, but why not allow any thread of those in all_threads? Why do we care that the env pointer was created by the same thread as the one using it? We should only care that the invoking thread is one of the Emacs application threads, no?