Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Oct 2002 23:40:20 +0000 (GMT)
From:      Doug Rabson <dfr@nlsystems.com>
To:        Terry Lambert <tlambert2@mindspring.com>
Cc:        Daniel Eischen <eischen@pcnet1.pcnet.com>, <current@freebsd.org>
Subject:   Re: [PATCH: libc]Re: gnome on current
Message-ID:  <20021030233833.C22480-100000@herring.nlsystems.com>
In-Reply-To: <3DC068EE.D04E207C@mindspring.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 30 Oct 2002, Terry Lambert wrote:

> Doug Rabson wrote:
> > > You need to link the library against libc_r.so instead of libXThrStub.so.
> >
> > Probably not. Doing that breaks the existing 'feature' of being able to
> > use X11 in entirely non-threaded programs. I'm not sure whether that is
> > acceptable. It also stops programs from being able to select between
> > several thread implementations, of which -current has two.
> >
> > I think the only sensible solution to this problem is for libraries which
> > provide an actual pthreads implementation (rather than a set of stubs) to
> > define strong symbols. Wierd debugging wrappers can still be achieved via
> > some dlopen/dlsym hackery.
>
> OK... I guess I don't understand the problem.
>
> If you are not compiling threaded programs for use with X, and
> X itself is not threaded, then why the heck was the threads stuff
> there in the first place?
>
> If X itself uses threads, then you need to use threads: there's
> no option in the matter.
>
> If libX11.so does not reference, the threads symbols, who cares?
>
> If libX11.so *does* reference the threads symbols, then they need
> to be there.
>
> You can't have a library that's sort of threaded and sort of not
> threaded: pick one.

Yes you can - libX11 is *thread safe* but doesn't create threads. When a
real pthreads implementation is present, libX11 uses its implementation of
mutex, cond etc. to ensure its own safety. If the application doesn't link
to a real pthreads implementation, it uses no-op stubs instead.

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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