Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 Apr 2004 12:29:01 -0400
From:      Joe Marcus Clarke <marcus@FreeBSD.org>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        freebsd-hackers@FreeBSD.org
Subject:   Re: Help: threading problem in non-threaded applications
Message-ID:  <1082564941.845.6.camel@gyros>
In-Reply-To: <Pine.GSO.4.10.10404210916330.1169-100000@pcnet5.pcnet.com>
References:  <Pine.GSO.4.10.10404210916330.1169-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--=-OhXDYIDa9l/9kTwZTw9A
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

On Wed, 2004-04-21 at 09:18, Daniel Eischen wrote:
> On Wed, 21 Apr 2004, Joe Marcus Clarke wrote:
>=20
> > On Tue, 2004-04-20 at 17:08, Daniel Eischen wrote:
> > > On Tue, 20 Apr 2004, Joe Marcus Clarke wrote:
> > >=20
> > > > I have a problem I'm hoping someone can help me with.  GTK+ 2.4
> > > > introduced a new file selection GUI which works just fine in thread=
ed
> > > > and non-threaded applications.  However, GNOME 2.6 augmented this d=
ialog
> > > > with a dynamically loadable threaded shared object.  The GNOME vers=
ion
> > > > is automatically used by all GTK+ apps when run under a GNOME deskt=
op if
> > > > libgnomeui is installed.
> > >=20
> > > Shared libraries shouldn't link with threading libraries
> > > unless they actually create threads behind the scenes.
> > > Actually, even so, they could force the (unthreaded)
> > > applications that link with them to explicitly supply
> > > the thread library in the link option.
> >=20
> > And that's the case here.  The underlying libraries are creating and
> > using threads.  But what happens when a non-threaded application loads =
a
> > thread library via dlopen() (which is the case here)?  Here's the stack
> > trace I see:
>=20
> In that case you're going to have to link the application
> to a threads library.

I had another thought based on your comments.  Since -pthread does the
right thing in -CURRENT, why don't we make that the default
PTHREAD_LIBS?  Why do we explicitly link to -lpthread when that causes
shared libs to be linked to threading libraries?  If we did -pthread
universally, this problem would go away because ORBit would do the right
thing in the non-threaded case.

Joe

--=20
Joe Marcus Clarke
FreeBSD GNOME Team	::	marcus@FreeBSD.org
gnome@FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome


--=-OhXDYIDa9l/9kTwZTw9A
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (FreeBSD)

iD8DBQBAhqFNb2iPiv4Uz4cRAkYdAJwI41mr2iL8QFegqVtiH4TPretAaACfS5Vh
9r6CdbabUn+K74mXUIlgWgQ=
=zqGz
-----END PGP SIGNATURE-----

--=-OhXDYIDa9l/9kTwZTw9A--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1082564941.845.6.camel>