Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <lhuldcgmbzn.fsf@oldenburg.str.redhat.com>
Date: Mon, 15 Jun 2026 10:41:48 +0200
From: Florian Weimer <fweimer@...hat.com>
To: libc-coord@...ts.openwall.com
Subject: pthread_create and translation of errors to EAGAIN

We currently translate ENOMEM errors to EAGAIN because of the POSIX
requirement to use EAGAIN if the “system lacked the necessary resources
to create another thread”.  However, EAGAIN may be a spurious error due
to incorrect resource accounting in the kernel, while ENOMEM most likely
is not.  Some applications and frameworks wrap pthread_create in loops
that retry (for a while/a number of times) if pthread_create fails with
EAGAIN.  Due to our error code translation, these retries happen for
(original) ENOMEM errors, too, where they are pointless.

Should we avoid the error code translation?

Thanks,
Florian

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.