X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl.h;h=0543a98169a65cdaa41fc3471ebbce60325c85fb;hb=c44d3fdb45c0c48dcd8af6dc9f4a4166137bf839;hp=cdf1ecd3fb45e46e76c5af479248fa9790d3d2d7;hpb=14dd3ad8c9bf82cf09798a22cc89a9862dfd6d1a;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perl.h b/perl.h index cdf1ecd..0543a98 100644 --- a/perl.h +++ b/perl.h @@ -906,12 +906,30 @@ struct perl_mstats { # define S_IWUSR 0200 # define S_IXUSR 0100 # endif -# define S_IRGRP (S_IRUSR>>3) -# define S_IWGRP (S_IWUSR>>3) -# define S_IXGRP (S_IXUSR>>3) -# define S_IROTH (S_IRUSR>>6) -# define S_IWOTH (S_IWUSR>>6) -# define S_IXOTH (S_IXUSR>>6) +#endif + +#ifndef S_IRGRP +# ifdef S_IRUSR +# define S_IRGRP (S_IRUSR>>3) +# define S_IWGRP (S_IWUSR>>3) +# define S_IXGRP (S_IXUSR>>3) +# else +# define S_IRGRP 0040 +# define S_IWGRP 0020 +# define S_IXGRP 0010 +# endif +#endif + +#ifndef S_IROTH +# ifdef S_IRUSR +# define S_IROTH (S_IRUSR>>6) +# define S_IWOTH (S_IWUSR>>6) +# define S_IXOTH (S_IXUSR>>6) +# else +# define S_IROTH 0040 +# define S_IWOTH 0020 +# define S_IXOTH 0010 +# endif #endif #ifndef S_ISUID @@ -967,7 +985,7 @@ struct perl_mstats { typedef IVTYPE IV; typedef UVTYPE UV; -#if defined(USE_64_BITS) && defined(HAS_QUAD) +#if defined(USE_64_BIT_INT) && defined(HAS_QUAD) # if QUADKIND == QUAD_IS_INT64_T && defined(INT64_MAX) # define IV_MAX INT64_MAX # define IV_MIN INT64_MIN @@ -1704,10 +1722,7 @@ typedef pthread_key_t perl_key; # define PERL_WAIT_FOR_CHILDREN NOOP #endif -/* the traditional thread-unsafe notion of "current interpreter". - * XXX todo: a thread-safe version that fetches it from TLS (akin to THR) - * needs to be defined elsewhere (conditional on pthread_getspecific() - * availability). */ +/* the traditional thread-unsafe notion of "current interpreter". */ #ifndef PERL_SET_INTERP # define PERL_SET_INTERP(i) (PL_curinterp = (PerlInterpreter*)(i)) #endif @@ -1716,20 +1731,35 @@ typedef pthread_key_t perl_key; # define PERL_GET_INTERP (PL_curinterp) #endif +#ifndef PERL_SET_CONTEXT +# define PERL_SET_CONTEXT(i) PERL_SET_INTERP(i) +#endif + +#ifndef PERL_GET_CONTEXT +# define PERL_GET_CONTEXT PERL_GET_INTERP +#endif + #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_GET_THX) # ifdef USE_THREADS -# define PERL_GET_THX THR +# define PERL_GET_THX ((struct perl_thread *)PERL_GET_CONTEXT) # else # ifdef MULTIPLICITY -# define PERL_GET_THX PERL_GET_INTERP +# define PERL_GET_THX ((PerlInterpreter *)PERL_GET_CONTEXT) # else # ifdef PERL_OBJECT -# define PERL_GET_THX ((CPerlObj*)PERL_GET_INTERP) -# else -# define PERL_GET_THX ((void*)0) +# define PERL_GET_THX ((CPerlObj *)PERL_GET_CONTEXT) # endif # endif # endif +# define PERL_SET_THX(t) PERL_SET_CONTEXT(t) +#endif + +#ifndef PERL_GET_THX +# define PERL_GET_THX ((void*)NULL) +#endif + +#ifndef PERL_SET_THX +# define PERL_SET_THX(t) NOOP #endif #ifndef SVf @@ -2090,7 +2120,7 @@ char *crypt (const char*, const char*); # ifndef getenv char *getenv (const char*); # endif /* !getenv */ -# if !defined(EPOC) && !(defined(__hpux) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) +# if !defined(EPOC) && !(defined(__hpux) && defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64) && !defined(HAS_LSEEK_PROTO) Off_t lseek (int,Off_t,int); # endif # endif /* !DONT_DECLARE_STD */ @@ -3247,7 +3277,7 @@ typedef struct am_table_short AMTS; HAS_GETCWD - HAS-MMAP + HAS_MMAP HAS_MPROTECT HAS_MSYNC HAS_MADVSISE