X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl.h;h=01a6d3fcb9eb62cb0f4c77eac06fb81d7bf2fbba;hb=218659229ea7e7f2d98c1a7697e6218c585dfb37;hp=d1cb7118092f5c4068826077f3a9452f2a3cb4bf;hpb=d742c382eed38a7010c93d369ad6896d826c21d6;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perl.h b/perl.h index d1cb711..01a6d3f 100644 --- a/perl.h +++ b/perl.h @@ -718,6 +718,11 @@ typedef struct perl_mstats perl_mstats_t; # define WIN32SCK_IS_STDSCK /* don't pull in custom wsock layer */ #endif +/* In Tru64 use the 4.4BSD struct msghdr, not the 4.3 one */ +#if defined(__osf__) && defined(__alpha) && !defined(_SOCKADDR_LEN) +# define _SOCKADDR_LEN +#endif + #if defined(HAS_SOCKET) && !defined(VMS) /* VMS handles sockets via vmsish.h */ # include # if defined(USE_SOCKS) && defined(I_SOCKS) @@ -2807,6 +2812,7 @@ enum { /* pass one of these to get_vtbl */ #define HINT_FILETEST_ACCESS 0x00400000 #define HINT_UTF8 0x00800000 #define HINT_UTF8_DISTINCT 0x01000000 +#define HINT_RE_ASCIIR 0x02000000 /* Various states of an input record separator SV (rs, nrs) */ #define RsSNARF(sv) (! SvOK(sv)) @@ -3477,17 +3483,21 @@ typedef struct am_table_short AMTS; * nice_chunk and nice_chunk size need to be set * and queried under the protection of sv_mutex */ -#define offer_nice_chunk(chunk, chunk_size) do { \ - LOCK_SV_MUTEX; \ - if (!PL_nice_chunk) { \ - PL_nice_chunk = (char*)(chunk); \ - PL_nice_chunk_size = (chunk_size); \ - } \ - else { \ - Safefree(chunk); \ - } \ - UNLOCK_SV_MUTEX; \ - } while (0) +#define offer_nice_chunk(chunk, chunk_size) STMT_START { \ + void *new_chunk; \ + U32 new_chunk_size; \ + LOCK_SV_MUTEX; \ + new_chunk = (void *)(chunk); \ + new_chunk_size = (chunk_size); \ + if (new_chunk_size > PL_nice_chunk_size) { \ + if (PL_nice_chunk) Safefree(PL_nice_chunk); \ + PL_nice_chunk = new_chunk; \ + PL_nice_chunk_size = new_chunk_size; \ + } else { \ + Safefree(chunk); \ + } \ + UNLOCK_SV_MUTEX; \ + } STMT_END #ifdef HAS_SEM # include @@ -3625,6 +3635,20 @@ typedef struct am_table_short AMTS; NVff NVgf + HAS_USLEEP + HAS_UALARM + + HAS_SETITIMER + HAS_GETITIMER + + HAS_SENDMSG + HAS_RECVMSG + HAS_READV + HAS_WRITEV + I_SYSUIO + HAS_STRUCT_MSGHDR + HAS_STRUCT_CMSGHDR + so that Configure picks them up. */ #endif /* Include guard */