develooper Front page | perl.perl5.porters | Postings from April 2017

[perl #131214] readdir_r is deprecated

From:
karl williamson
Date:
April 26, 2017 18:24
Subject:
[perl #131214] readdir_r is deprecated
Message ID:
rt-4.0.24-24540-1493231048-210.131214-75-0@perl.org
# New Ticket Created by  karl williamson 
# Please include the string:  [perl #131214]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=131214 >



This is a bug report for perl from khw@khw.(none),
generated with the help of perlbug 1.40 running under perl 5.26.0.


-----------------------------------------------------------------
glibc 2.24 deprecates readdir_r.  And, compiling perl creates annoying
warning noise.

Starting with that version, plain readdir is reentrant, but not if two
threads share a stream.  For those, it recommends using readdir with
synchronization exclusion (i.e., mutexes I suppose).

A man page is attached.
-----------------------------------------------------------------
---
Flags:
     category=core
     severity=low
---
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:
   Commit id: 63e6b12834233dc9b98f2b7b63611f958aa88cc6
   Platform:
     osname=linux
     osvers=4.10.0-19-generic
     archname=x86_64-linux-thread-multi-ld
     uname='linux khw 4.10.0-19-generic #21-ubuntu smp thu apr 6 
17:04:57 utc 2017 x86_64 x86_64 x86_64 gnulinux '
     config_args='-des -Uversiononly -Dprefix=/home/khw/blead -Dusedevel 
-D'optimize=-ggdb3' -A'optimize=-ggdb3' -A'optimize=-O0' 
-Accflags='-DPERL_BOOL_AS_CHAR' -Accflags='-DPERL_EXTERNAL_GLOB' 
-Dman1dir=none -Dman3dir=none -Dcc=g++ -DDEBUGGING -Dusemorebits 
-Dusecbacktrace -Dusethreads'
     hint=recommended
     useposix=true
     d_sigaction=define
     useithreads=define
     usemultiplicity=define
     use64bitint=define
     use64bitall=define
     uselongdouble=define
     usemymalloc=n
     default_inc_excludes_dot=define
     bincompat5005=undef
   Compiler:
     cc='g++'
     ccflags ='-D_REENTRANT -D_GNU_SOURCE -DPERL_BOOL_AS_CHAR 
-DPERL_EXTERNAL_GLOB -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe 
-fstack-protector-strong -I/usr/local/include -DUSE_C_BACKTRACE -g 
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
     optimize='-ggdb3 -ggdb3 -O0'
     cppflags='-D_REENTRANT -D_GNU_SOURCE -DPERL_BOOL_AS_CHAR 
-DPERL_EXTERNAL_GLOB -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe 
-fstack-protector-strong -I/usr/local/include'
     ccversion=''
     gccversion='6.3.0 20170406'
     gccosandvers=''
     intsize=4
     longsize=8
     ptrsize=8
     doublesize=8
     byteorder=12345678
     doublekind=3
     d_longlong=define
     longlongsize=8
     d_longdbl=define
     longdblsize=16
     longdblkind=3
     ivtype='long'
     ivsize=8
     nvtype='long double'
     nvsize=16
     Off_t='off_t'
     lseeksize=8
     alignbytes=16
     prototype=define
   Linker and Libraries:
     ld='g++'
     ldflags =' -fstack-protector-strong -L/usr/local/lib'
     libpth=/usr/include/c++/6 /usr/include/x86_64-linux-gnu/c++/6 
/usr/include/c++/6/backward /usr/local/lib 
/usr/lib/gcc/x86_64-linux-gnu/6/include-fixed 
/usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib 
/usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib
     libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
     perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
     libc=libc-2.24.so
     so=so
     useshrplib=false
     libperl=libperl.a
     gnulibc_version='2.24'
   Dynamic Linking:
     dlsrc=dl_dlopen.xs
     dlext=so
     d_dlsymun=undef
     ccdlflags='-Wl,-E'
     cccdlflags='-fPIC'
     lddlflags='-shared -ggdb3 -ggdb3 -O0 -L/usr/local/lib 
-fstack-protector-strong'


---
@INC for perl 5.26.0:
     /home/khw/perl/blead/lib
     /home/khw/perl/blead/t
     /home/khw/blead/lib/perl5/site_perl/5.26.0/x86_64-linux-thread-multi-ld
     /home/khw/blead/lib/perl5/site_perl/5.26.0
     /home/khw/blead/lib/perl5/5.26.0/x86_64-linux-thread-multi-ld
     /home/khw/blead/lib/perl5/5.26.0
     /home/khw/blead/lib/perl5/site_perl/5.25.12
     /home/khw/blead/lib/perl5/site_perl/5.25.11
     /home/khw/blead/lib/perl5/site_perl/5.25.10
     /home/khw/blead/lib/perl5/site_perl/5.25.9
     /home/khw/blead/lib/perl5/site_perl/5.25.8
     /home/khw/blead/lib/perl5/site_perl/5.25.7
     /home/khw/blead/lib/perl5/site_perl/5.25.6
     /home/khw/blead/lib/perl5/site_perl/5.25.5
     /home/khw/blead/lib/perl5/site_perl/5.25.4
     /home/khw/blead/lib/perl5/site_perl/5.25.3
     /home/khw/blead/lib/perl5/site_perl/5.25.2
     /home/khw/blead/lib/perl5/site_perl/5.25.1
     /home/khw/blead/lib/perl5/site_perl/5.24.0
     /home/khw/blead/lib/perl5/site_perl/5.23.10
     /home/khw/blead/lib/perl5/site_perl/5.23.9
     /home/khw/blead/lib/perl5/site_perl/5.23.8
     /home/khw/blead/lib/perl5/site_perl/5.23.7
     /home/khw/blead/lib/perl5/site_perl/5.23.6
     /home/khw/blead/lib/perl5/site_perl/5.23.5
     /home/khw/blead/lib/perl5/site_perl/5.23.4
     /home/khw/blead/lib/perl5/site_perl/5.23.3
     /home/khw/blead/lib/perl5/site_perl/5.23.2
     /home/khw/blead/lib/perl5/site_perl/5.23.1
     /home/khw/blead/lib/perl5/site_perl/5.23.0
     /home/khw/blead/lib/perl5/site_perl/5.22.0
     /home/khw/blead/lib/perl5/site_perl/5.21.12
     /home/khw/blead/lib/perl5/site_perl/5.21.11
     /home/khw/blead/lib/perl5/site_perl/5.21.10
     /home/khw/blead/lib/perl5/site_perl/5.21.9
     /home/khw/blead/lib/perl5/site_perl/5.21.8
     /home/khw/blead/lib/perl5/site_perl/5.21.7
     /home/khw/blead/lib/perl5/site_perl/5.21.6
     /home/khw/blead/lib/perl5/site_perl/5.21.5
     /home/khw/blead/lib/perl5/site_perl/5.21.4
     /home/khw/blead/lib/perl5/site_perl/5.21.3
     /home/khw/blead/lib/perl5/site_perl/5.21.2
     /home/khw/blead/lib/perl5/site_perl/5.21.1
     /home/khw/blead/lib/perl5/site_perl/5.20.0
     /home/khw/blead/lib/perl5/site_perl/5.19.12
     /home/khw/blead/lib/perl5/site_perl/5.19.11
     /home/khw/blead/lib/perl5/site_perl/5.19.10
     /home/khw/blead/lib/perl5/site_perl

---
Environment for perl 5.26.0:
     HOME=/home/khw
     LANG=en_US.UTF-8
     LANGUAGE=en_US
     LD_LIBRARY_PATH (unset)
     LOGDIR (unset)
 
PATH=/usr/lib/ccache:/home/khw/bin:/home/khw/perl5/perlbrew/bin:/home/khw/print/bin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games:/usr/local/games:/home/khw/iands/www:/home/khw/cxoffice/bin
     PERL5OPT=-w
     PERL_BADLANG (unset)
     PERL_DIFF_TOOL=wgdiff
     PERL_POD_PEDANTIC=1
     SHELL=/bin/ksh



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About