This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: [Dri-devel] Re: OpenGL and the LinuxThreads pthread_descr structure
On Fri, May 17, 2002 at 10:22:23AM +0300, Momchil Velikov wrote:
> >>>>> "Jakub" == Jakub Jelinek <jakub@redhat.com> writes:
>
> >> How do you detect threading without making these calls to libpthreads.so?
>
> Jakub> Weak symbols.
>
> Jakub> extern pthread_t pthread_self (void) __attribute__ ((weak));
>
> Jakub> (resp. #pragma weak pthread_self).
> Jakub> Then if (&pthread_self) { application was linked against -lpthread } else { not threaded }
> Jakub> Note all calls to pthread library has to be weak.
>
> Hmm, if all the references to libpthread are weak, what will pull
> libpthread in ?
Nothing, that's the point.
If an application is threaded, it has to be linked with -lpthread (or some
of its libraries). In that case the weak symbols in libGL will resolve to
that library and libGL will be thread-safe.
If an application is not threaded, you don't want to link against -lpthread.
Jakub