From owner-svn-src-head@freebsd.org Wed Jun 1 15:44:48 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 90620B61A6B for ; Wed, 1 Jun 2016 15:44:48 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: from mail-yw0-x229.google.com (mail-yw0-x229.google.com [IPv6:2607:f8b0:4002:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4608910C8 for ; Wed, 1 Jun 2016 15:44:48 +0000 (UTC) (envelope-from ed@nuxi.nl) Received: by mail-yw0-x229.google.com with SMTP id o16so22182599ywd.2 for ; Wed, 01 Jun 2016 08:44:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuxi-nl.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc; bh=+2wbew8Lx3m1CbNAxIufeDVG//4QAK+6/Q478rJFh5g=; b=bgJpQZQl8YgfNEjS4Vt9JnlAiRDbxpc6xZ+nF324RseoEPrfYwKuepSlyVIWpz8UA1 UWiNv9sssZ1CLB7N1225MVrkpLosBS2cDeFv9qcvIT/9+lALAomZq1ZgHY43KygwdRJ4 hc5bxZowlxQe1nrc4/LuNZ6nNt7Ynua8iAgcL04SS5mUqTvvlSLqXE4K8NIzoV2DBsBm Pj7qxCp7HNHYNyLROhv0F5iq6WZQ+Gk6lG/4Klg5nUxraG0DGKx7NlSRKP+TKzN1tzoV FNvdctJm6yQNRpAatoPhUFnfk/TU5+Fwa81a/xTH9SNbtVIq/VpxbB274xadLGtdx815 Irhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc; bh=+2wbew8Lx3m1CbNAxIufeDVG//4QAK+6/Q478rJFh5g=; b=iskv19IJQ+5CjJ75AlqNDpb2YMlm7xR4H616BXioaBelhyUcJPKrgsgX0g8hYJioQ9 T7m7x9GMMl3/Tba3iCAFs3iYy64KZm0x+bUe907DKyXaiQMHKBmdhMSHZ4L9YvE87J0w /eTNqGrAKsO/K7dlnkQtH5yJollxXS3TaK5KqrW2jgwdmD9+xskOwJjP35FfHIonjF+m F81Rq2P/t3/XOrCGpZIPGdeQeCCpHCLoVEvij3kellv9TQUoAH2CCMl8rPJJ8+AAw8x/ ZYm19O9yhR14n/hOqvyNWWac/N9hJ5GbW2tGLbsCTZI0xVeBsc5EyGbkuD8IHqJeb0Oa 9NvQ== X-Gm-Message-State: ALyK8tLSUa95WKkcG2lraEmZbnbz6CFEiL/O7sbnspintnpjp1dibg/i6OusVDcK6wGnMAf3pT0ysz7Dsf3ItQ== MIME-Version: 1.0 X-Received: by 10.13.202.207 with SMTP id m198mr2985002ywd.140.1464795887366; Wed, 01 Jun 2016 08:44:47 -0700 (PDT) Received: by 10.13.201.199 with HTTP; Wed, 1 Jun 2016 08:44:47 -0700 (PDT) In-Reply-To: <20160601183101.X1028@besplex.bde.org> References: <201605311905.u4VJ5geL053766@repo.freebsd.org> <20160601183101.X1028@besplex.bde.org> Date: Wed, 1 Jun 2016 17:44:47 +0200 Message-ID: Subject: Re: svn commit: r301071 - head/sys/sys From: Ed Schouten To: Bruce Evans Cc: Ed Schouten , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Jun 2016 15:44:48 -0000 Hi Bruce, 2016-06-01 11:31 GMT+02:00 Bruce Evans : >> - This header file has always depended on pthread_t, pthread_attr_t, >> struct timespec, size_t and uid_t. Only as of POSIX 2008, these >> dependencies have been states explicitly. They should now be defined. > > Not always. POSIX didn't have pthreads or timespecs before about 1993. Sure. s/always/for a long time/ >> - In our implementation, struct sigevent::sigev_notify_attributes has >> type "void *" instead of "pthread_attr_t *". My guess is that this was >> done to prevent pulling in the pthread types, but this can easily be >> avoided by using the underlying structure types. > > Not easily, since the tags of the underlying struct types are in the > application namespace, at least up to POSIX 2001. Yeah, it's quite unfortunate that we use structure types starting with 'pthread'. They should have had leading underscores. But in my opinion that's not a problem specific to this change; it's a problem with our pthread implementation in general. >> +#include > > This gives the following pollution (which breaks almost everything since > includes this header: > - struct tag names pthread* > - struct member names state and mutex Yes. It would have made so much more sense if a header like would have defined all pthread types as __pthread_t, __pthread_mutex_t, etc. That way there would have been a way to expose just pthread_t and pthread_attr_t without pulling in the rest. -- Ed Schouten Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717