readdir_r is deprecated #15943
This is a bug report for perl from khw@khw.(none),
glibc 2.24 deprecates readdir_r. And, compiling perl creates annoying
Starting with that version, plain readdir is reentrant, but not if two
A man page is attached.
Site configuration information for perl 5.26.0:
Configured by khw at Mon Apr 24 08:31:45 MDT 2017.
Summary of my perl5 (revision 5 version 26 subversion 0) configuration:
@INC for perl 5.26.0:
Environment for perl 5.26.0:
READDIR_R(3) Linux Programmer's Manual READDIR_R(3)
int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
The readdir_r() function was invented as a reentrant version of read‐
A pointer to the returned buffer is placed in *result; if the end of
It is recommended that applications use readdir(3) instead of read‐
* On systems where NAME_MAX is undefined, calling readdir_r() may be
* On some systems, readdir_r() can't read directory entries with very
* In the current POSIX.1 specification (POSIX.1-2008), readdir(3) is
* It is expected that a future version of POSIX.1 will make read‐
On Wed, 26 Apr 2017 11:24:08 -0700, firstname.lastname@example.org wrote:
This is something we'd need to detect, somehow.
POSIX still defines readdir_r() and doesn't require that readdir() be thread-safe (though that may change, see http://austingroupbugs.net/view.php?id=696 )
On Tue, 23 May 2017 19:11:24 -0700, "Tony Cook via RT"
This has already been addressed in branch arc_readdir_after5260
On 05/24/2017 09:46 AM, H.Merijn Brand wrote:
This can be merged into blead-next.
On Sat, 27 May 2017 10:15:59 -0700, email@example.com wrote:
This is on our blockers list for 5.28. Did this merge ever happen?
On 03/20/2018 01:23 AM, Karl Williamson via RT wrote:
I found this: c6709bf.
Thank you for filing this report. You have helped make Perl better.
With the release yesterday of Perl 5.28.0, this and 185 other issues have been
Perl 5.28.0 may be downloaded via:
If you find that the problem persists, feel free to reopen this ticket.