From owner-freebsd-standards Sun Sep 15 19:52:51 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4FC9937B400; Sun, 15 Sep 2002 19:52:50 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id EF34543E75; Sun, 15 Sep 2002 19:52:49 -0700 (PDT) (envelope-from mike@FreeBSD.org) Received: from freefall.freebsd.org (mike@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g8G2qnJU008821; Sun, 15 Sep 2002 19:52:49 -0700 (PDT) (envelope-from mike@freefall.freebsd.org) Received: (from mike@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g8G2qnsR008817; Sun, 15 Sep 2002 19:52:49 -0700 (PDT) Date: Sun, 15 Sep 2002 19:52:49 -0700 (PDT) From: Mike Barcroft Message-Id: <200209160252.g8G2qnsR008817@freefall.freebsd.org> To: mike@FreeBSD.org, standards@FreeBSD.org, fenner@FreeBSD.org Subject: Re: misc/23103: lacks many ISO C99 features (NAN, isfinite,...) Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Synopsis: lacks many ISO C99 features (NAN, isfinite,...) Responsible-Changed-From-To: standards->fenner Responsible-Changed-By: mike Responsible-Changed-When: Sun Sep 15 19:51:41 PDT 2002 Responsible-Changed-Why: Over to Bill Fenner. http://www.freebsd.org/cgi/query-pr.cgi?pr=23103 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Mon Sep 16 18:32: 7 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1949A37B400 for ; Mon, 16 Sep 2002 18:32:05 -0700 (PDT) Received: from mail.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7C0E543E42 for ; Mon, 16 Sep 2002 18:32:04 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from localhost (eischen@localhost) by mail.pcnet.com (8.12.3/8.12.1) with ESMTP id g8H1W33K025144; Mon, 16 Sep 2002 21:32:03 -0400 (EDT) Date: Mon, 16 Sep 2002 21:32:03 -0400 (EDT) From: Daniel Eischen To: Alfred Perlstein Cc: standards@freebsd.org Subject: Re: sem_* API In-Reply-To: <20020917010939.GE86737@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG [ switching to -standards if that's OK ] On Mon, 16 Sep 2002, Alfred Perlstein wrote: > * Daniel Eischen [020916 16:41] wrote: > > On Mon, 16 Sep 2002, Alfred Perlstein wrote: > > > > > * Alfred Perlstein [020916 16:08] wrote: > > > > I got sort of bored so I wrote a kernel version of the POSIX sem_* > > > > functions so that we can support sem_open() and sem_init() when 'pshared' > > > > is set to true. Basically this is posix semaphores that can be used > > > > between processes. > > > > > > > > I haven't tested it as of yet (but I will be soon), here's the delta > > > > for it. > > > > > > > > Does anyone know a test suite for this API? > > > > > > Of course actually including the _new_ files might help, > > > the diff can be pulled from here: > > > > > > http://people.freebsd.org/~alfred/deltas/sem.diff.gz > > > > I'll only comment on the pthread portion. > > > > Please put objects in the beginning of the file before functions > > are implemented (named_sems and named_sems_mtx are declared > > between functions) to keep in style with the rest of the thread > > code. > > > > If those objects (named_sems and named_sems_mtx) need to be external > > then you must precede them with underscores. I think they can be > > static though. > > > > If you use mutexes internally (that the application doesn't know > > about) then you must use the _pthread_mutex_* variants (single > > underscore). The library treats these differently so that the > > thread will not be canceled or have a signal handler installed > > while holding one of these. > > Thank you, I've applied all your suggested changes to my local > tree. Yes, the structures are local, I neglected to 'staticize' > them. > > I've also applied the delta to libc_r since Julian said I would > need to do that to test it for now. Right. > Does it make sense for these to actually be in libc? This is > because they can be used to inter-process syncronization, not > just between threads... Well, Solaris has them in librt (real-time) and not in libthread or libpthread. POSIX/Austin/SUSv3 define these to be part of the real-time extensions also. Since our other real-time stuff (sched_*) is in libc, I'd say they really belong in libc. There is an option for semaphores too (_POSIX_SEMAPHORES); you probably want to define that if it isn't already ( I think). Can they be implemented as standalone syscalls in libc, and then wrapped by libc_r? They needn't be wrapped at all in libpthread unless we want to make them faster for the non-shared case. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Mon Sep 16 18:51:57 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B02837B400 for ; Mon, 16 Sep 2002 18:51:56 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id BA1CB43E65 for ; Mon, 16 Sep 2002 18:50:35 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g8H1oYVo026809 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK) for ; Mon, 16 Sep 2002 21:50:34 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g8H1nEOS026795; Mon, 16 Sep 2002 21:49:14 -0400 (EDT) (envelope-from wollman) Date: Mon, 16 Sep 2002 21:49:14 -0400 (EDT) From: Garrett Wollman Message-Id: <200209170149.g8H1nEOS026795@khavrinen.lcs.mit.edu> To: Daniel Eischen Cc: standards@FreeBSD.ORG Subject: Re: sem_* API In-Reply-To: References: <20020917010939.GE86737@elvis.mu.org> Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG < said: > Well, Solaris has them in librt (real-time) and not in libthread > or libpthread. POSIX/Austin/SUSv3 define these to be part of the > real-time extensions also. Semaphores must be available in a `c99 -l rt' compilation environment, whether or not `-l pthread' is also specified, if the semaphore option is supported. Note that the specification of `c99' explicitly states that there need not be an explicit `librt.a' or `libpthread.a'; the compiler driver must make the relevant routines available when those arguments are specified (and may make them available at any other time). > Since our other real-time stuff (sched_*) is in libc, I'd say they > really belong in libc. There is an option for semaphores too > (_POSIX_SEMAPHORES); you probably want to define that if it isn't > already ( I think). If this feature is going to be optional in the kernel, it should not be defined, and programs should instead use the appropriate sysconf() test to determine whether it works or not. > Can they be implemented as standalone syscalls in libc, and then > wrapped by libc_r? They needn't be wrapped at all in libpthread > unless we want to make them faster for the non-shared case. Agreed. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Mon Sep 16 23:13:58 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 157DC37B400 for ; Mon, 16 Sep 2002 23:13:57 -0700 (PDT) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD82B43E75 for ; Mon, 16 Sep 2002 23:13:56 -0700 (PDT) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id 9BF9FAE23A; Mon, 16 Sep 2002 23:13:56 -0700 (PDT) Date: Mon, 16 Sep 2002 23:13:56 -0700 From: Alfred Perlstein To: Daniel Eischen Cc: standards@freebsd.org Subject: Re: sem_* API Message-ID: <20020917061356.GH86737@elvis.mu.org> References: <20020917010939.GE86737@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4i Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * Daniel Eischen [020916 18:32] wrote: > [ switching to -standards if that's OK ] That's fine, but please keep me on the cc list as I'm not subscribed to many lists right now. > On Mon, 16 Sep 2002, Alfred Perlstein wrote: > > > Does it make sense for these to actually be in libc? This is > > because they can be used to inter-process syncronization, not > > just between threads... > > Well, Solaris has them in librt (real-time) and not in libthread > or libpthread. POSIX/Austin/SUSv3 define these to be part of the > real-time extensions also. > > Since our other real-time stuff (sched_*) is in libc, I'd say they > really belong in libc. There is an option for semaphores too > (_POSIX_SEMAPHORES); you probably want to define that if it isn't > already ( I think). > > Can they be implemented as standalone syscalls in libc, and then > wrapped by libc_r? They needn't be wrapped at all in libpthread > unless we want to make them faster for the non-shared case. Ok, so I'm going to put them into src/lib/libc/sys/sem.c. :) Question, besideds removing the inclusion of pthread_private.h and axing the __weak_reference's, is any other special handling required? Updated delta here: I've moved uipc_sem.c from kern to posix4/posix4_sem.c and made it optional as well as put the code into libc. http://people.freebsd.org/~alfred/deltas/sem.diff.gz -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Tue Sep 17 3:32: 4 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4B3DF37B401 for ; Tue, 17 Sep 2002 03:32:03 -0700 (PDT) Received: from chiark.greenend.org.uk (chiark.greenend.org.uk [212.135.138.206]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6B1F843E4A for ; Tue, 17 Sep 2002 03:32:02 -0700 (PDT) (envelope-from fanf@chiark.greenend.org.uk) Received: from fanf by chiark.greenend.org.uk with local (Exim 3.12 #1) id 17rFcd-0007oG-00 (Debian); Tue, 17 Sep 2002 11:30:23 +0100 Date: Tue, 17 Sep 2002 11:30:23 +0100 From: Tony Finch To: Alfred Perlstein Cc: Daniel Eischen , standards@freebsd.org Subject: Re: sem_* API Message-ID: <20020917113023.A18776@chiark.greenend.org.uk> References: <20020917010939.GE86737@elvis.mu.org> <20020917061356.GH86737@elvis.mu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20020917061356.GH86737@elvis.mu.org>; from bright@mu.org on Mon, Sep 16, 2002 at 11:13:56PM -0700 Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Sep 16, 2002 at 11:13:56PM -0700, Alfred Perlstein wrote: > > Ok, so I'm going to put them into src/lib/libc/sys/sem.c. :) I thought that directory was for syscall manual pages, not code. __error.c appears to be an error perpetrated in FreeBSD-3. (src/lib/libc/sys should really be src/share/man/man2 but that error is much older.) Tony. -- f.a.n.finch http://dotat.at/ SOLE: NORTHEASTERLY 5 OR 6. THUNDERY RAIN LATER. MODERATE OR GOOD. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Tue Sep 17 6:17:33 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D94F637B401 for ; Tue, 17 Sep 2002 06:17:30 -0700 (PDT) Received: from mail.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id 474F543E3B for ; Tue, 17 Sep 2002 06:17:30 -0700 (PDT) (envelope-from eischen@pcnet1.pcnet.com) Received: from localhost (eischen@localhost) by mail.pcnet.com (8.12.3/8.12.1) with ESMTP id g8HDHPMb006664; Tue, 17 Sep 2002 09:17:29 -0400 (EDT) Date: Tue, 17 Sep 2002 09:17:25 -0400 (EDT) From: Daniel Eischen To: Alfred Perlstein Cc: standards@freebsd.org Subject: Re: sem_* API In-Reply-To: <20020917061356.GH86737@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 16 Sep 2002, Alfred Perlstein wrote: > * Daniel Eischen [020916 18:32] wrote: > > [ switching to -standards if that's OK ] > > That's fine, but please keep me on the cc list as I'm not subscribed > to many lists right now. > > > On Mon, 16 Sep 2002, Alfred Perlstein wrote: > > > > > Does it make sense for these to actually be in libc? This is > > > because they can be used to inter-process syncronization, not > > > just between threads... > > > > Well, Solaris has them in librt (real-time) and not in libthread > > or libpthread. POSIX/Austin/SUSv3 define these to be part of the > > real-time extensions also. > > > > Since our other real-time stuff (sched_*) is in libc, I'd say they > > really belong in libc. There is an option for semaphores too > > (_POSIX_SEMAPHORES); you probably want to define that if it isn't > > already ( I think). > > > > Can they be implemented as standalone syscalls in libc, and then > > wrapped by libc_r? They needn't be wrapped at all in libpthread > > unless we want to make them faster for the non-shared case. > > Ok, so I'm going to put them into src/lib/libc/sys/sem.c. :) > > Question, besideds removing the inclusion of pthread_private.h > and axing the __weak_reference's, is any other special handling > required? Well, these should work without linking in libc_r/libpthread. When in libc, there should be no references to pthread routines unless it's really necessary, and in those cases it should only be the stubbed routines. All pthread references need to be preceded with underscores for the reasons mentioned before and because only the underscored versions exist as stubs in libc (see libc/gen/_pthread_stubs.c). For cancellation points, those at a minimum need to be in the threaded libraries. I'd implement the sem_* routines in libc as __sem_* with weak references, so that the threaded libraries can use _sem_* as the cancellation functions and override the weak references (sem_* -> _sem_*). So in libc: __weak_reference(sem_init, __sem_init); int __sem_init()... and in libc_r: __weak_reference(sem_init, _sem_init); int _sem_init(...) { _thread_enter_cancellation_point(); __sem_init(...); _thread_leave_cancellation_point(); } I'm not sure about whether or not to implement the non-shared semaphores as library routines rather than keeping them as system calls too. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Tue Sep 17 7:17:25 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B609037B401 for ; Tue, 17 Sep 2002 07:17:24 -0700 (PDT) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2E8443E65 for ; Tue, 17 Sep 2002 07:17:23 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: from bde.zeta.org.au (bde.zeta.org.au [203.2.228.102]) by mailman.zeta.org.au (8.9.3/8.8.7) with ESMTP id AAA31442; Wed, 18 Sep 2002 00:17:16 +1000 Date: Wed, 18 Sep 2002 00:25:40 +1000 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: Alfred Perlstein Cc: Daniel Eischen , Subject: Re: sem_* API In-Reply-To: <20020917061356.GH86737@elvis.mu.org> Message-ID: <20020918001905.P11227-100000@gamplex.bde.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 16 Sep 2002, Alfred Perlstein wrote: > Ok, so I'm going to put them into src/lib/libc/sys/sem.c. :) As fanf pointed out, this is a wrong place. > I've moved uipc_sem.c from kern to posix4/posix4_sem.c and made it > optional as well as put the code into libc. This is another wrong place. posix4 was renamed posix.1b 9 years ago and merged into posix.1 6 or more years ago. Don't put anything more in sys/posix4 or use posix4 in any names. The optionality of the things in sys/posix4 needs to be untangled. I think most of the things there now should be non-optional at least at the application level. There are only small basic things related to scheduling there. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Thu Sep 19 13:55:16 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 72B1737B401; Thu, 19 Sep 2002 13:55:15 -0700 (PDT) Received: from mailbox.univie.ac.at (mailbox.univie.ac.at [131.130.1.27]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7FFF643E4A; Thu, 19 Sep 2002 13:55:14 -0700 (PDT) (envelope-from l.ertl@univie.ac.at) Received: from korben (mailboxts3-63.univie.ac.at [131.130.99.63]) by mailbox.univie.ac.at (8.12.2/8.12.2) with ESMTP id g8JKstQF242672; Thu, 19 Sep 2002 22:55:01 +0200 Date: Thu, 19 Sep 2002 22:54:35 +0200 (=?ISO-8859-1?Q?Westeurop=E4ische_Sommerzeit?=) From: Lukas Ertl To: Lukas Ertl Cc: "Tim J. Robbins" , Subject: Re: standards/41576: POSIX compliance of ln(1) In-Reply-To: <20020819210645.L310-100000@leelou.in.tern> Message-ID: X-X-Sender: le@mailbox.univie.ac.at MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, 19 Aug 2002, Lukas Ertl wrote: > 1) $ ln -sf bar bla > > and > > 2) $ ln -sf bar bla/ > > The first version should replace the symlink, the second one should creat= e > a new symlink in the already referenced directory (as it currently happen= s > on FreeBSD). ln on AIX does exactly that. Of course, AIX could be > completely broken (as usual :-), but this is how I read the standard. Has someone of you thought about this one since then? I have taken a look at the source code and AFAICS if we implement it like this we would have to throw out the -h option. I don't know if this would break a lot of things and if it would be a good idea. What do you think about it? regards, le --=20 Lukas Ertl eMail: l.ertl@univie.ac.at UNIX-Systemadministrator Tel.: (+43 1) 4277-14073 Zentraler Informatikdienst (ZID) Fax.: (+43 1) 4277-9140 der Universit=E4t Wien http://mailbox.univie.ac.at/~le/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Thu Sep 19 16:31:59 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DED9137B401 for ; Thu, 19 Sep 2002 16:31:57 -0700 (PDT) Received: from smtp01.iprimus.net.au (smtp01.iprimus.net.au [210.50.30.70]) by mx1.FreeBSD.org (Postfix) with ESMTP id CA0C443E6A for ; Thu, 19 Sep 2002 16:31:56 -0700 (PDT) (envelope-from tim@robbins.dropbear.id.au) Received: from dilbert.robbins.dropbear.id.au ([210.50.41.168]) by smtp01.iprimus.net.au with Microsoft SMTPSVC(5.0.2195.4617); Fri, 20 Sep 2002 09:31:54 +1000 Received: from dilbert.robbins.dropbear.id.au (k8y4paszc2uyb0nc@localhost [127.0.0.1]) by dilbert.robbins.dropbear.id.au (8.12.6/8.12.6) with ESMTP id g8JNVpCj067452; Fri, 20 Sep 2002 09:31:52 +1000 (EST) (envelope-from tim@dilbert.robbins.dropbear.id.au) Received: (from tim@localhost) by dilbert.robbins.dropbear.id.au (8.12.6/8.12.6/Submit) id g8JNVn9Z067450; Fri, 20 Sep 2002 09:31:49 +1000 (EST) (envelope-from tim) Date: Fri, 20 Sep 2002 09:31:48 +1000 From: Tim Robbins To: Lukas Ertl Cc: freebsd-standards@FreeBSD.org Subject: Re: standards/41576: POSIX compliance of ln(1) Message-ID: <20020920093148.A66405@dilbert.robbins.dropbear.id.au> References: <20020819210645.L310-100000@leelou.in.tern> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from l.ertl@univie.ac.at on Thu, Sep 19, 2002 at 10:54:35PM +0200 X-OriginalArrivalTime: 19 Sep 2002 23:31:54.0752 (UTC) FILETIME=[BD229000:01C26034] Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Sep 19, 2002 at 10:54:35PM +0200, Lukas Ertl wrote: > On Mon, 19 Aug 2002, Lukas Ertl wrote: > > > 1) $ ln -sf bar bla > > > > and > > > > 2) $ ln -sf bar bla/ > > > > The first version should replace the symlink, the second one should create > > a new symlink in the already referenced directory (as it currently happens > > on FreeBSD). ln on AIX does exactly that. Of course, AIX could be > > completely broken (as usual :-), but this is how I read the standard. > > Has someone of you thought about this one since then? I have taken a look > at the source code and AFAICS if we implement it like this we would have > to throw out the -h option. I don't know if this would break a lot of > things and if it would be a good idea. > > What do you think about it? I think that AIX is using lstat() on the target pathname to check whether it exists or not - the behaviour you describe is consistent with that. The standard says nothing explicitly about following symlinks, but I'm not sure whether it should be implied. The questionable sentences are these: If the last operand specifies an existing file of a type not specified by the System Interfaces volume of IEEE Std 1003.1-2001, the behavior is implementation-defined. The second synopsis form shall be assumed when the final operand names an existing directory. I still don't have an answer, though... Tim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Fri Sep 20 10:38:30 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D9DF37B401; Fri, 20 Sep 2002 10:38:30 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E3F1643E65; Fri, 20 Sep 2002 10:38:29 -0700 (PDT) (envelope-from schweikh@FreeBSD.org) Received: from freefall.freebsd.org (schweikh@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8KHcTCo020491; Fri, 20 Sep 2002 10:38:29 -0700 (PDT) (envelope-from schweikh@freefall.freebsd.org) Received: (from schweikh@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8KHcT3Y020487; Fri, 20 Sep 2002 10:38:29 -0700 (PDT) Date: Fri, 20 Sep 2002 10:38:29 -0700 (PDT) From: Jens Schweikhardt Message-Id: <200209201738.g8KHcT3Y020487@freefall.freebsd.org> To: schweikh@FreeBSD.org, freebsd-bugs@FreeBSD.org, standards@FreeBSD.org Subject: Re: kern/29844: [PATCH] setpgrp does not behave as manual says Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Old Synopsis: setpgrp does not behave as manual says New Synopsis: [PATCH] setpgrp does not behave as manual says Responsible-Changed-From-To: freebsd-bugs->standards Responsible-Changed-By: schweikh Responsible-Changed-When: Fri Sep 20 10:37:13 PDT 2002 Responsible-Changed-Why: Can the standards people please have a look at this and decide which of the patches is the way to go? http://www.freebsd.org/cgi/query-pr.cgi?pr=29844 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Fri Sep 20 19:20:53 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AAC2437B401 for ; Fri, 20 Sep 2002 19:20:52 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BE5C43E77 for ; Fri, 20 Sep 2002 19:20:51 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g8L2KnVo061805 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK) for ; Fri, 20 Sep 2002 22:20:49 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g8L2KnWq061802; Fri, 20 Sep 2002 22:20:49 -0400 (EDT) (envelope-from wollman) Date: Fri, 20 Sep 2002 22:20:49 -0400 (EDT) From: Garrett Wollman Message-Id: <200209210220.g8L2KnWq061802@khavrinen.lcs.mit.edu> To: standards@FreeBSD.org Subject: cvs commit: src/include limits.h In-Reply-To: <200209210200.g8L20jv9079003@freefall.freebsd.org> References: <200209210200.g8L20jv9079003@freefall.freebsd.org> Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG < said: > wollman 2002/09/20 19:00:45 PDT > Modified files: > include limits.h > Log: > Use new visibility macros. (1 of 5) Note that there are a lot more changes which still need to be made to this header family to bring it up to 1003.1-2001. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sat Sep 21 11:46:16 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8409D37B401; Sat, 21 Sep 2002 11:46:14 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id F209A43E7B; Sat, 21 Sep 2002 11:46:12 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g8LIkBVo070105 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sat, 21 Sep 2002 14:46:12 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g8LIkB0X070102; Sat, 21 Sep 2002 14:46:11 -0400 (EDT) (envelope-from wollman) Date: Sat, 21 Sep 2002 14:46:11 -0400 (EDT) From: Garrett Wollman Message-Id: <200209211846.g8LIkB0X070102@khavrinen.lcs.mit.edu> To: standards@FreeBSD.org Cc: doc@FreeBSD.org Subject: POSIX options concordance in XML X-Fingerprint: A80D 04DD A9A7 F651 F53A A8E4 23E7 86E9 BEED 946E X-Key-Id: 1024D/BEED946E Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG After spending about eight hours poring over two of the four volumes of 1003.1-2001, I have created a machine-readable (XML) description of all of the official and the interfaces which are associated with them. Currently, this covers all optional behavior described in the interface reference sections of XBD and XSI, with a few exceptions. Some interfaces are described in more detail than others. For example, the description of the Threads option simply states ``the header is required''; the description of the Barriers option (which is represented as a sub-option of Threads) states explicitly the names of types and functions which are required to be implemented in for this particular option. I expect that this concordance can be used in a number of ways: - Generating automatic option testing scripts and test-coverage reports. - Creating documentation of the implementation's choice of options. - Creating a script to interactively query any implementation as to choice of options (using the getconf utility). Some amount of conformance information has been encoded in the concordance, specifically for implementation-defined limits and constants required to have a specific value; however, this is not a substitute for a full conformance-testing suite. In particular, some elements of optional behavior are described in English rather than in machine-readable form. It might at some point be extended along this axis to cover mandatory interfaces as well as optional ones. (In fact, I think the schema is ready for this, but my wrists are not going to tolerate that.) I have not created an official schema, but it should be fairly obvious from the vocabulary and the structure of the file. If it proves useful, and I manage to write some of the tools I've described, I'll check this in to the tree. URL: PGP: -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message From owner-freebsd-standards Sat Sep 21 19:39:16 2002 Delivered-To: freebsd-standards@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B0EDE37B401; Sat, 21 Sep 2002 19:39:15 -0700 (PDT) Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1A44F43E42; Sat, 21 Sep 2002 19:39:15 -0700 (PDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: from khavrinen.lcs.mit.edu (localhost [IPv6:::1]) by khavrinen.lcs.mit.edu (8.12.3/8.12.5) with ESMTP id g8M2dEVo071792 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=OK); Sat, 21 Sep 2002 22:39:14 -0400 (EDT) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.12.3/8.12.5/Submit) id g8M2dD7h071789; Sat, 21 Sep 2002 22:39:13 -0400 (EDT) (envelope-from wollman) Date: Sat, 21 Sep 2002 22:39:13 -0400 (EDT) From: Garrett Wollman Message-Id: <200209220239.g8M2dD7h071789@khavrinen.lcs.mit.edu> To: standards@FreeBSD.ORG Cc: doc@FreeBSD.ORG Subject: POSIX options concordance in XML -- a useful application In-Reply-To: <200209211846.g8LIkB0X070102@khavrinen.lcs.mit.edu> References: <200209211846.g8LIkB0X070102@khavrinen.lcs.mit.edu> Sender: owner-freebsd-standards@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG As threatened, I've actually come up with the most trivial of the potentially useful applications for this database. See for a short XSL stylesheet that creates a summary table of all the options and lists the utilities and header files that are relevant to each. Hope people find this useful. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-standards" in the body of the message