Date: Fri, 04 Mar 2005 00:25:13 -0500 From: Tom McLaughlin <tmclaugh@sdf.lonestar.org> To: David Xu <davidxu@freebsd.org> Cc: freebsd-threads@freebsd.org Subject: Re: Mono's XSP crashes on browser connection Message-ID: <1109913913.777.172.camel@compass.straycat.dhs.org> In-Reply-To: <42279FA0.2020007@freebsd.org> 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> <opsm2si1b99aq2h7@mezz.mezzweb.com> <42279FA0.2020007@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 2005-03-04 at 07:37 +0800, David Xu wrote: > Jeremy Messenger wrote: > > > On Thu, 3 Mar 2005 10:15:44 -0500, Craig Rodrigues > > <rodrigc@crodrigues.org> 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, what are the plans for libthread in the future? Is your library intended to replace libpthread, intended as an alternate source for introducing things into libpthread, or, well I don't know. My concern is the growing popularity of Mono on Linux and .NET in general. Mono also affects Gnome since most free software C# apps I've found use gtk#. The C# case I gave you is a fairly common thing to do and currently it prevents the XSP webserver for ASP.NET apps from being supported on FreeBSD and MonoDevelop which is an IDE geared towards Mono. (The Eclipse C# plugin is pants and while I'm happy with Vim for now, the FreeBSD Mono users want MonoDevelop.) As the current crop of apps mature I can see more things breaking. I'm not sure what other bugs lurk with Mono on FreeBSD yet since the Mono and the apps using it are not yet fully mature. Mono isn't popular in the *BSD world yet. I assume it will soon become fairly popular based on the entities supporting it either directly (Novell) or indirectly (Microsoft). Mono is currently supported on FreeBSD by Jeremy Messenger and myself. Both of us are learning as we go along. I'm looking to attract at least another port maintainer right now because maintaining the existing ports and adding new ones is a job in and of itself. Currently I have about 20 ports and a list of about 20 more that look promising. I could even use a C# programmer who can help me as I slowly get up to speed with the language. I can't attract more help with Mono being fairly unstable on FreeBSD. It's an odd circle with Mono. I can't attract help because there are so few apps in the ports tree. I can't get more apps in the ports tree because I can't attract help. In short, I don't want to see Mono a year or two from now barely limping along on FreeBSD like it has for so long. I don't want to see users turning away from FreeBSD because their favorite app from the Linux distro they use is not available. I don't want to be playing catchup with port availability a few years from now either. Alright, I need sleep now. Anything you can tell me about the possibility of seeing some of your libthread changes in FreeBSD would be great. Thanks. Tom -- BSD# Project - Porting Mono to FreeBSD http://forge.novell.com/modules/xfmod/project/?bsd-sharp
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1109913913.777.172.camel>