From owner-freebsd-threads@FreeBSD.ORG Tue Mar 31 04:52:34 2009 Return-Path: Delivered-To: threads@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D5082106566B for ; Tue, 31 Mar 2009 04:52:34 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id C27138FC1C for ; Tue, 31 Mar 2009 04:52:34 +0000 (UTC) (envelope-from bright@elvis.mu.org) Received: by elvis.mu.org (Postfix, from userid 1192) id CB7C51A3C3E; Mon, 30 Mar 2009 21:32:45 -0700 (PDT) Date: Mon, 30 Mar 2009 21:32:45 -0700 From: Alfred Perlstein To: Randall Stewart Message-ID: <20090331043245.GZ92757@elvis.mu.org> References: <7D4F6788-0F12-4863-9635-7FADA9115D16@lakerest.net> <49D136B1.6060809@delphij.net> <78DBBDDA-5A39-4CEB-8289-F36EFB96461D@lakerest.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <78DBBDDA-5A39-4CEB-8289-F36EFB96461D@lakerest.net> User-Agent: Mutt/1.4.2.3i Cc: threads@freebsd.org, d@delphij.net Subject: Re: A mutex for inter-process ;-) X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 31 Mar 2009 04:52:35 -0000 One trick to handling pid wrap is to also record process start time. I sort of wish our signalling code allowed this as a optional thing to make _really sure_ you weren't signalling the wrong process. -Alfred * Randall Stewart [090330 16:29] wrote: > > On Mar 30, 2009, at 5:16 PM, Xin LI wrote: > > >-----BEGIN PGP SIGNED MESSAGE----- > >Hash: SHA1 > > > >Randall Stewart wrote: > >>Hi all: > >> > >>I have recently written a small set of routines that allow > >>two process to have a "mutex" between them.. actually it allows > >>all of the threads in any set of processes to have mutexes between > >>themselves ;-) > >> > >>Anyway it seems to be working fairly well.. I still have to write a > >>man > >>page > >>for it (documentation always last).. and eventually I would like to > >>port in > >>some of the WITNESS type features since the mutex's have names.. > >> > >>I probably should also think about scaling it up a bit.. right now > >>its > >>really > >>more for a small scale (100 or less mutexes)... > >> > >>Who should I talk to about getting this in... having it reviewed > >>etc. I > >>think > >>it belongs in libthr since it really needs the tid of the pthreads > >>from the > >>pthread_t type... and for now I have a horrible hack in to get it ;-) > > > >I think davidxu@ deischen@ and julian@? > > > >BTW. How do you handle with one process exit (abnormally) without > >releasing the mutex? Just curious :) > > I have a couple of ways of dealing with this.. > > 1) Of course the initialization routine calls atexit() to get a > "cleanup handler" in place. > 2) Often times, of course, this can fail e.g. you get a SIGSEGV.. or > some such. When you > attach the memory, an audit is done. The audit will validate that > the pid is still alive > and has the particular tid in it. Of course this is not 100% but > as long as the tid's have > not rolled over it should work. The function is also public (need > to add that and many things > to the manual pages ;-D) so that one can call it whenever one > wants :-) > > I will ping Julian and the others... > > R > > > > > > >Cheers, > >- -- > >Xin LI http://www.delphij.net/ > >FreeBSD - The Power to Serve! > >-----BEGIN PGP SIGNATURE----- > >Version: GnuPG v2.0.11 (FreeBSD) > > > >iEYEARECAAYFAknRNrEACgkQi+vbBBjt66DIswCbBWRMJN55c60UTBBIZMRCY4zo > >6hcAnixfVXdtdnn0fT/Z31v0EdyVCVlH > >=JL/U > >-----END PGP SIGNATURE----- > > > > ------------------------------ > Randall Stewart > 803-317-4952 (cell) > 803-345-0391(direct) > > _______________________________________________ > freebsd-threads@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-threads > To unsubscribe, send any mail to "freebsd-threads-unsubscribe@freebsd.org" -- - Alfred Perlstein