Date: Thu, 23 Mar 2006 00:22:50 +0900 From: MANTANI Nobutaka <nobutaka@freebsd.org> To: "Jeremy Messenger" <mezz7@cox.net> Cc: Makoto Matsushita <matusita@jp.freebsd.org>, ports@freebsd.org, pav@freebsd.org Subject: Re: Ruby oddity (pthreads) Message-ID: <86fylaijw5.wl%nobutaka@nobutaka.org> In-Reply-To: <op.s6bbkbng9aq2h7@mezz.mezzweb.com> References: <20060313.004512.55510725.rushani@FreeBSD.org> <441452E7.3010809@jp.FreeBSD.org> <1142182986.64145.8.camel@ikaros.oook.cz> <4414581B.1070800@jp.FreeBSD.org> <op.s6bbkbng9aq2h7@mezz.mezzweb.com>
next in thread | previous in thread | raw e-mail | index | archive | help
At Sun, 12 Mar 2006 12:13:13 -0600, Jeremy Messenger wrote: > > On Sun, 12 Mar 2006 11:19:23 -0600, Makoto Matsushita > <matusita@jp.FreeBSD.org> wrote: > > >> I made threaded ruby the default, because the Gtk+/GNOME bindings for > >> Ruby rely on it being threaded. There are some rather nice apps using > >> those libraries... > > But, all they need are ${PTHREAD_LIBS} and it will working w/out enable > thread. The ruby-gtk2/ruby-gnome2 aren't alone, it also for ruby-opengl, > ruby-sdl, ruby-wx and etc. Exactly. I have made a patch for lang/ruby18 to disable pthread by default and link ${PTHREAD_LIBS} regardless of pthread support, and I confirmed that migemo, ruby-gtk2 and ruby-gnome2 works without problem. > > Reasonable, so we have to make lang/ruby18 ports to two ports -- one is > > for > > pthread ruby and another is non-pthreaded ruby. Both ports must be > > installed > > to the same system without any conflicts. Any volunteers, or we have to > > wait > > until my superman, nork-san has a free time to do that? :-) > > No thanks, we used to have ruby18 and ruby18_r, and it was messy and > headache. I am the one that suggested to remove and everything was solved > by using ${PTHREAD_LIBS} with disable pthread. I would like to see we go > back to same way what lofi and I did with ruby before. > > http://lists.freebsd.org/pipermail/cvs-ports/2005-February/058420.html I second this. Pthread support of ruby-1.8.4 is still incomplete. Pthread functions are only used for implementing thread timer for ruby threads. Therefore I don't see any benefit from enabling pthread support. And I think that thread stack expantion hack like HUGE_STACK_SIZE option in lang/python port is required if we use pthreaded ruby. So I'm going to commit the patch mentioned above and remove lang/ruby18-nopthread port. The patch is available from http://people.freebsd.org/~nobutaka/ruby-ports-20060321.diff. Are there any objections? > > We have another problems here; what is the default ruby, pthreaded or > > non-phtreaded. My vote goes to non-pthreaded, since "default to > > pthreaded" > > may slow for users who doesn't require pthread. > > http://lists.freebsd.org/pipermail/cvs-ports/2006-January/084479.html > > Hopeful either Ruby 1.9 or Ruby 2 will solving all of issues with new > thread stuff. I hope so. FYI, I hear that SASADA Koichi is trying to implement native threads (pthread and win32 thread) support in his YARV (Yet Another Ruby VM) project. YARV: Yet Another Ruby VM http://www.atdot.net/yarv/ -- MANTANI Nobutaka nobutaka@nobutaka.org, nobutaka@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86fylaijw5.wl%nobutaka>