From owner-freebsd-threads@FreeBSD.ORG Thu Mar 3 23:37:04 2005 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 623DC16A4CF for ; Thu, 3 Mar 2005 23:37:04 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4685C43D2F; Thu, 3 Mar 2005 23:37:04 +0000 (GMT) (envelope-from davidxu@freebsd.org) Received: from [127.0.0.1] (davidxu@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id j23Nb1Mo081072; Thu, 3 Mar 2005 23:37:03 GMT (envelope-from davidxu@freebsd.org) Message-ID: <42279FA0.2020007@freebsd.org> Date: Fri, 04 Mar 2005 07:37:04 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.7.2) Gecko/20041004 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jeremy Messenger References: <1109551418.782.30.camel@compass.straycat.dhs.org> <1109742079.777.15.camel@compass.straycat.dhs.org> <422649AF.5090606@freebsd.org> <1109833505.777.80.camel@compass.straycat.dhs.org> <4226B9DC.7040405@freebsd.org> <1109835366.777.95.camel@compass.straycat.dhs.org> <42272009.507@freebsd.org> <20050303151544.GA2518@crodrigues.org> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: freebsd-threads@freebsd.org Subject: Re: Mono's XSP crashes on browser connection X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Mar 2005 23:37:04 -0000 Jeremy Messenger wrote: > On Thu, 3 Mar 2005 10:15:44 -0500, Craig Rodrigues > wrote: > >> On Thu, Mar 03, 2005 at 10:32:41PM +0800, David Xu wrote: >> >>> whether _POSIX_THREAD_PROCESS_SHARED is defined or not in >>> source code, but he failed to respect this macro at many places, so >>> the >>> macro is rather bogus. >> > > David, thanks for dig it deeper! So my conclusion is mono can not be used on FreeBSD, because process sharable mutex and condition variable are not supported. it is possible writting a special version of mutex and condition variable for mono by using kernel umtx code, but now umtx is also broken by a FEATURE called swappable kernel stack, otherwise, someone can just pick up code from my private pthread library, http://people.freebsd.org/~davidxu/libthread.tgz in the library, mutex and condition variable structure can be put on shared memory segments, there is no pointer in the structure, only counter and some bit flags. David Xu