From owner-freebsd-hackers Mon Sep 16 16:41:29 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A63337B400 for ; Mon, 16 Sep 2002 16:41:28 -0700 (PDT) Received: from mail.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by mx1.FreeBSD.org (Postfix) with ESMTP id B937B43E81 for ; Mon, 16 Sep 2002 16:41:27 -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 g8GNfNp4012638; Mon, 16 Sep 2002 19:41:27 -0400 (EDT) Date: Mon, 16 Sep 2002 19:41:23 -0400 (EDT) From: Daniel Eischen To: Alfred Perlstein Cc: hackers@FreeBSD.ORG Subject: Re: sem_* API In-Reply-To: <20020916231141.GB86737@elvis.mu.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@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: > * 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. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message