From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Perry E. Metzger" Newsgroups: gmane.emacs.devel Subject: Re: Can we go GTK-only? Date: Tue, 1 Nov 2016 13:15:54 -0400 Message-ID: <20161101131554.5205fab1@jabberwock.cb.piermont.com> References: <24db2975-17ca-ad01-20c8-df12071fa89a@dancol.org> <4615E73A-19E2-4B79-9889-D3FA686DDDE6@raeburn.org> <83bmy0pl8p.fsf@gnu.org> <831sywp7ew.fsf@gnu.org> <83y413nsjm.fsf@gnu.org> <403a4fd8-f9da-82df-956b-a3187de83cf9@cs.ucla.edu> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1478023775 6277 195.159.176.226 (1 Nov 2016 18:09:35 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 1 Nov 2016 18:09:35 +0000 (UTC) Cc: Eli Zaretskii , Daniel Colascione , emacs-devel@gnu.org, raeburn@raeburn.org, monnier@iro.umontreal.ca To: Paul Eggert Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 01 19:09:25 2016 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 1c1dUQ-0004tT-Nt for ged-emacs-devel@m.gmane.org; Tue, 01 Nov 2016 19:08:50 +0100 Original-Received: from localhost ([::1]:50074 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1dUT-0006yY-F2 for ged-emacs-devel@m.gmane.org; Tue, 01 Nov 2016 14:08:53 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1cfG-0006U0-0N for emacs-devel@gnu.org; Tue, 01 Nov 2016 13:15:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1cfF-0004ww-4X for emacs-devel@gnu.org; Tue, 01 Nov 2016 13:15:57 -0400 Original-Received: from hacklheber.piermont.com ([2001:470:30:84:e276:63ff:fe62:3400]:37501) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c1cfD-0004wM-85; Tue, 01 Nov 2016 13:15:55 -0400 Original-Received: from snark.cb.piermont.com (localhost [127.0.0.1]) by hacklheber.piermont.com (Postfix) with ESMTP id 708B565A; Tue, 1 Nov 2016 13:15:54 -0400 (EDT) Original-Received: from jabberwock.cb.piermont.com (jabberwock.cb.piermont.com [10.160.2.107]) by snark.cb.piermont.com (Postfix) with ESMTP id 534CC2DE01E; Tue, 1 Nov 2016 13:15:54 -0400 (EDT) In-Reply-To: <403a4fd8-f9da-82df-956b-a3187de83cf9@cs.ucla.edu> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:470:30:84:e276:63ff:fe62:3400 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:209078 Archived-At: On Tue, 1 Nov 2016 09:28:34 -0700 Paul Eggert wrote: > On 11/01/2016 08:11 AM, Eli Zaretskii wrote: > > Only C11 mandates that malloc/realloc/free shall be thread-safe, > > and > we don't yet require C11. > > This is too pessimistic. C11 was the first C standard to talk about > threads, which is why it's the first C standard to specify whether > malloc is thread-safe. Precisely. Before then, the thread safety of malloc was discussed in standards that talked about threads, like the pthreads standards in POSIX. > In practice it should be safe to assume that > malloc is thread-safe on multithreaded platforms, as C programmers > would have revolted en masse otherwise. Again, the Single Unix Specification and its predecessors always said, very explicitly, that malloc was thread safe, as does Windows. I am unaware of the existence of a platform that supports both C and threads in which malloc is not documented to be thread safe. Certainly if such a platform once existed, it is long gone and does not support a modern Emacs. > > gmalloc is only thread-safe if Emacs is built with pthreads. > > Yes, and that's what one would expect. If you build Emacs in > single-threaded mode, malloc won't be thread-safe. But in the > normal case nowadays, malloc should be thread-safe. Precisely. Generally, the library calls are only thread safe if you link with the pthreads library or the like, but we're presuming that is what would happen here. Perry -- Perry E. Metzger perry@piermont.com