Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87o8jo3saw.fsf@mid.deneb.enyo.de>
Date: Mon, 23 Nov 2020 18:18:47 +0100
From: Florian Weimer <fw@...eb.enyo.de>
To: Jonathan Wakely <jwakely@...hat.com>
Cc: Rich Felker <dalias@...c.org>,  Арсений
 <a@...r0n.science>,  musl@...ts.openwall.com
Subject: Re: Mutexes are not unlocking

* Jonathan Wakely:

> Yes. I don't remember why but maybe pthread_key_create exists as a
> stub in glibc's libc.so and so __pthread_key_create is used to
> **really** detect that libpthread.so is linked in.

There's no pthread_key_create in libc.  Roland actually added a
comment why __pthread_key_create is used:

+/* For a program to be multi-threaded the only thing that it certainly must
+   be using is pthread_create.  However, there may be other libraries that
+   intercept pthread_create with their own definitions to wrap pthreads
+   functionality for some purpose.  In those cases, pthread_create being
+   defined might not necessarily mean that libpthread is actually linked
+   in.

I believe the Boehm/Demers/Weiser garbage collector used to be one of
these libraries.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.