Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 23 Nov 2020 18:18:47 +0100
From: Florian Weimer <>
To: Jonathan Wakely <>
Cc: Rich Felker <>,  Арсений
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 and so __pthread_key_create is used to
> **really** detect that 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.