From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 124413 invoked by alias); 7 Apr 2017 14:46:39 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 124396 invoked by uid 89); 7 Apr 2017 14:46:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RCVD_IN_SORBS_SPAM,SPF_PASS autolearn=no version=3.3.2 spammy=Obviously, month X-HELO: mail-qk0-f170.google.com X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=BYIFD1bGmOhvICzh/NqJaOp5Fy0kLyOMpcK3DhTKL/k=; b=mUhn/rBQXop8200CxGjJ905MjMhXwKQh1B3bkH9KxT+FhTl3lb3DMIbAKWLvie1plf R/DovKdYjbYf2F/QwSV0ARZX69myoQnoPj2WzO+9Rjwy1X0WYWeET34SIZSNZpdKJg6n 8g4zFCn4a2XeKrjdKZG+XYKMcHYlYWa8NSnjAcL5l4vzn+10vQEDrlxbWyvX4RKjVaAL TzFDcovbUai1SUwr2ty6vDDyk++okWncNLEy4URFgIaFCeo8DvZxrrZfp+Bqr0FOr2Yo dWikMo/aH0q0jARHBHk7/bZLoJZv3l2kyaWqikii35yPK9PRq8sxAx5BagywCEEMbIja 8lGw== X-Gm-Message-State: AN3rC/754rGyNO/Zqr5uX/jvh+dJ8A76VPBZsXOFUOcGmLKBZ39U4pNEc7xIAxMOHJA2j/pN X-Received: by 10.55.169.66 with SMTP id s63mr7344272qke.266.1491576396395; Fri, 07 Apr 2017 07:46:36 -0700 (PDT) Subject: Re: [PATCH 1/2] Remove _IO_MTSAFE_IO from public headers. To: Florian Weimer , Zack Weinberg References: <20170322125504.4863-1-zackw@panix.com> <20170322125504.4863-2-zackw@panix.com> <87a4474b-e4c8-fda7-1d8e-888e0446a984@linaro.org> Cc: GNU C Library From: Adhemerval Zanella Message-ID: <962ee740-d2af-d4ce-9899-d6b2be8f21c9@linaro.org> Date: Fri, 07 Apr 2017 14:46:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2017-04/txt/msg00133.txt.bz2 On 06/04/2017 19:06, Florian Weimer wrote: > On 04/06/2017 11:29 PM, Adhemerval Zanella wrote: >> >> >> On 06/04/2017 17:41, Zack Weinberg wrote: >>> On Thu, Apr 6, 2017 at 4:29 PM, Adhemerval Zanella >>> wrote: >>>> On 22/03/2017 09:55, Zack Weinberg wrote: >>>>> _IO_MTSAFE_IO controls whether stdio is *built* with support for >>>>> multithreading. In the distant past it might also have worked as a >>>>> feature selection macro, allowing library *users* to select >>>>> thread-safe or lock-free stdio at application build time, I haven't >>>>> done the archaeology. Nowadays, defining _IO_MTSAFE_IO while using >>>>> the installed headers, or in _ISOMAC mode, will cause libio.h to throw >>>>> syntax errors. >>>> >>>> What prevent us to just get rid of _IO_MTSAFE_IO and just build/assume >>>> stdio with multithread support? >>> >>> I think that's a desirable goal, but I don't want to do that in this >>> patchset because I suspect it will be messy *inside* libc. And I'd >>> start by getting it out of the public headers, anyway. >> >> Why do you think so? The make fragment sysdeps/pthread/Makeconfig already >> sets libc-reentrant regardless, so _IO_MTSAFE_IO is already being defined >> in all objects that might use it (and I suspect it has been this way for >> some time already). > > There is some oddity going on with regards to the libio locking macros. A previous discussion: > > > (spans into next month) > > Obviously, we need to clean this up, but we need to be careful to preserve the locking behavior expected by applications. > > Thanks, > Florian Right, removing _IO_MTSAFE_IO seems no be not a trivial issue. I think we can push it in the future then.