diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2002-03-15 16:07:58 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-03-15 16:07:58 +0000 |
commit | 10bc17b68c7666cd045658934ccb75dd788c8972 (patch) | |
tree | 0a97f4e9c6e3aa079acc3ca0c75d94be194c1387 /perl.h | |
parent | 6ab308ee9dcbdd9e40dc1aa7ca450e7f854eb8fe (diff) | |
download | perl-10bc17b68c7666cd045658934ccb75dd788c8972.tar.gz |
Monster _r patch: try to scan for all known _r variants,
and then use them (under ithreads). May fail in HP-UX,
and the op/groups is known to be fickle everywhere. Known
to work in Solaris, Linux, Tru64, IRIX, AIX. (Some compiler
warnings in AIX since the first arguments of getnetbyaddr
and getnetbyadd_r are of different types. Thanks, IBM.)
In non-Configure platforms deny the existence of any
of the _r thingies. (Also add the recently introduced
d_tm_* to places it wasn't already in.)
TODO: the suggested glibc buffer growth retry loop in case
some entries (at least for: gr*, host*) are big.
Forgot win32/config.win64.
p4raw-id: //depot/perl@15238
Diffstat (limited to 'perl.h')
-rw-r--r-- | perl.h | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -77,6 +77,12 @@ # endif #endif +/* Use the reentrant APIs like localtime_r and getpwent_r */ +/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */ +#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32) && !defined(__APPLE__) +# define USE_REENTRANT_API +#endif + /* <--- here ends the logic shared by perl.h and makedef.pl */ #ifdef PERL_IMPLICIT_CONTEXT @@ -338,12 +344,6 @@ register struct op *Perl_op asm(stringify(OP_IN_REGISTER)); # endif #endif -/* Use the reentrant APIs like localtime_r and getpwent_r */ -/* Win32 has naturally threadsafe libraries, no need to use any _r variants. */ -#if defined(USE_ITHREADS) && !defined(USE_REENTRANT_API) && !defined(WIN32) && !defined(__APPLE__) -# define USE_REENTRANT_API -#endif - /* HP-UX 10.X CMA (Common Multithreaded Architecure) insists that pthread.h must be included before all other header files. */ @@ -2694,7 +2694,9 @@ END_EXTERN_C char *crypt (); /* Maybe more hosts will need the unprototyped version */ # else # if !defined(WIN32) && !defined(VMS) +#ifndef crypt char *crypt (const char*, const char*); +#endif # endif /* !WIN32 */ # endif /* !NeXT && !__NeXT__ */ # ifndef DONT_DECLARE_STD @@ -2709,7 +2711,9 @@ Off_t lseek (int,Off_t,int); # endif # endif # endif /* !DONT_DECLARE_STD */ +#ifndef getlogin char *getlogin (void); +#endif #endif /* !__cplusplus */ #ifdef UNLINK_ALL_VERSIONS /* Currently only makes sense for VMS */ |