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 12:41:12 -0400 Message-ID: <20161101124112.2604a08c@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> 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 1478021897 11041 195.159.176.226 (1 Nov 2016 17:38:17 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 1 Nov 2016 17:38:17 +0000 (UTC) Cc: Daniel Colascione , emacs-devel@gnu.org, raeburn@raeburn.org, monnier@iro.umontreal.ca To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Nov 01 18:38:13 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 1c1d0e-0001bq-L9 for ged-emacs-devel@m.gmane.org; Tue, 01 Nov 2016 18:38:04 +0100 Original-Received: from localhost ([::1]:49664 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1d0h-0007pF-Cl for ged-emacs-devel@m.gmane.org; Tue, 01 Nov 2016 13:38:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45142) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1c1c7n-0002T0-SJ for emacs-devel@gnu.org; Tue, 01 Nov 2016 12:41:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1c1c7n-0001vk-0k for emacs-devel@gnu.org; Tue, 01 Nov 2016 12:41:23 -0400 Original-Received: from hacklheber.piermont.com ([166.84.7.14]:45823) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1c1c7j-0001qm-Cp; Tue, 01 Nov 2016 12:41:19 -0400 Original-Received: from snark.cb.piermont.com (localhost [127.0.0.1]) by hacklheber.piermont.com (Postfix) with ESMTP id 5EDFC65A; Tue, 1 Nov 2016 12:41:13 -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 F1D1C2DE01E; Tue, 1 Nov 2016 12:41:12 -0400 (EDT) In-Reply-To: <83y413nsjm.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 166.84.7.14 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:209069 Archived-At: On Tue, 01 Nov 2016 17:11:57 +0200 Eli Zaretskii wrote: > > Of course you can call malloc from multiple threads. Otherwise, > > projects like jemalloc would be pointless. You can freely > > allocate and deallocate from different threads on both POSIX and > > Windows systems, and there is no need to free an object on the > > thread that allocated it. > > IMO, this is not a safe assumption, even though in practice more and > more systems out there provide thread-safe native malloc. Only C11 > mandates that malloc/realloc/free shall be thread-safe, and we don't > yet require C11. I was under the impression the requirement that malloc be thread safe was before now a POSIX/pthreads thing, not a C standard thing, and that this had been the case for a very long time. SUS says this explicitly here: http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_09 2.9.1 Thread-Safety All functions defined by this volume of POSIX.1-2008 shall be thread-safe, except that the following functions need not be thread-safe. It then goes on to not mention malloc, so malloc is required to be thread safe. I can look up old versions of the standard but I believe it was the case as long as pthreads has been around. Perry -- Perry E. Metzger perry@piermont.com