From 066ef5b548575efffe272b7363a2f5050ebd7e2d Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Tue, 23 Jun 1998 10:50:10 +0000 Subject: [PATCH] more MULTIPLICITY tweaks p4raw-id: //depot/perl@1206 --- objpp.h | 2 ++ perl.c | 37 +++++++++++++++++++++++++------------ perl.h | 8 ++++---- proto.h | 2 ++ win32/GenCAPI.pl | 1 + win32/config.bc | 1 + win32/config.gc | 1 + win32/config.vc | 1 + win32/config_H.bc | 15 +++++++++++++++ win32/config_H.gc | 15 +++++++++++++++ win32/config_H.vc | 15 +++++++++++++++ 11 files changed, 82 insertions(+), 16 deletions(-) diff --git a/objpp.h b/objpp.h index 98dd951..75f8e69 100644 --- a/objpp.h +++ b/objpp.h @@ -497,6 +497,8 @@ #define init_debugger CPerlObj::init_debugger #undef init_ids #define init_ids CPerlObj::init_ids +#undef init_interp +#define init_interp CPerlObj::init_interp #undef init_main_thread #define init_main_thread CPerlObj::init_main_thread #undef init_main_stash diff --git a/perl.c b/perl.c index 084a1c3..43a0070 100644 --- a/perl.c +++ b/perl.c @@ -1780,7 +1780,7 @@ STATIC void init_interp(void) { -#if 0 +#ifdef PERL_OBJECT /* XXX kludge */ #define I_REINIT \ STMT_START { \ chopset = " \n-"; \ @@ -1812,19 +1812,32 @@ init_interp(void) rsfp = Nullfp; \ rsfp_filters= Nullav; \ } STMT_END +#else +# ifdef MULTIPLICITY +# define PERLVAR(var,type) +# define PERLVARI(var,type,init) curinterp->var = init; +# define PERLVARIC(var,type,init) curinterp->var = init; +# include "intrpvar.h" +# ifndef USE_THREADS +# include "thrdvar.h" +# endif +# undef PERLVAR +# undef PERLVARI +# undef PERLVARIC +# else +# define PERLVAR(var,type) +# define PERLVARI(var,type,init) var = init; +# define PERLVARIC(var,type,init) var = init; +# include "intrpvar.h" +# ifndef USE_THREADS +# include "thrdvar.h" +# endif +# undef PERLVAR +# undef PERLVARI +# undef PERLVARIC +# endif #endif -#define PERLVAR(var,type) -#define PERLVARI(var,type,init) curinterp->var = init; -#define PERLVARIC(var,type,init) curinterp->var = init; -#include "intrpvar.h" -#ifndef USE_THREADS -# include "thrdvar.h" -#endif -#undef PERLVAR -#undef PERLVARI -#undef PERLVARIC - } STATIC void diff --git a/perl.h b/perl.h index a2fa03d..3d20cf6 100644 --- a/perl.h +++ b/perl.h @@ -1944,11 +1944,11 @@ typedef void *Thread; #ifndef MULTIPLICITY -#ifndef USE_THREADS -#include "thrdvar.h" -#endif +# include "intrpvar.h" +# ifndef USE_THREADS +# include "thrdvar.h" +# endif -#include "intrpvar.h" #endif #ifdef PERL_OBJECT diff --git a/proto.h b/proto.h index cff62d6..0beb384 100644 --- a/proto.h +++ b/proto.h @@ -264,7 +264,9 @@ VIRTUAL U32 magic_sizepack _((SV* sv, MAGIC* mg)); VIRTUAL int magic_wipepack _((SV* sv, MAGIC* mg)); VIRTUAL void magicname _((char* sym, char* name, I32 namlen)); int main _((int argc, char** argv, char** env)); +#ifdef MYMALLOC VIRTUAL MEM_SIZE malloced_size _((void *p)); +#endif VIRTUAL void markstack_grow _((void)); #ifdef USE_LOCALE_COLLATE VIRTUAL char* mem_collxfrm _((const char* s, STRLEN len, STRLEN* xlen)); diff --git a/win32/GenCAPI.pl b/win32/GenCAPI.pl index 2e136ed..dbe9fd7 100644 --- a/win32/GenCAPI.pl +++ b/win32/GenCAPI.pl @@ -71,6 +71,7 @@ safexcalloc safexrealloc safexfree Perl_GetVars +malloced_size )]; diff --git a/win32/config.bc b/win32/config.bc index 2d25e46..0c62fc5 100644 --- a/win32/config.bc +++ b/win32/config.bc @@ -279,6 +279,7 @@ date='date' db_hashtype='int' db_prefixtype='int' defvoidused='15' +devtype='dev_t' direntrytype='struct direct' dlext='dll' dlsrc='dl_win32.xs' diff --git a/win32/config.gc b/win32/config.gc index 1dfc04b..5b8fb2e 100644 --- a/win32/config.gc +++ b/win32/config.gc @@ -279,6 +279,7 @@ date='date' db_hashtype='int' db_prefixtype='int' defvoidused='15' +devtype='dev_t' direntrytype='struct direct' dlext='dll' dlsrc='dl_win32.xs' diff --git a/win32/config.vc b/win32/config.vc index 806549c..823532a 100644 --- a/win32/config.vc +++ b/win32/config.vc @@ -279,6 +279,7 @@ date='date' db_hashtype='int' db_prefixtype='int' defvoidused='15' +devtype='dev_t' direntrytype='struct direct' dlext='dll' dlsrc='dl_win32.xs' diff --git a/win32/config_H.bc b/win32/config_H.bc index febd4ba..e0efdac 100644 --- a/win32/config_H.bc +++ b/win32/config_H.bc @@ -410,6 +410,14 @@ */ /*#define HAS_MKFIFO /**/ +/* HAS_MKNOD: + * This symbol, if defined, indicates that the mknod routine is + * available to create character and block special files. Otherwise, + * mknod should be able to do it for you. However, if mknod is there, + * mknod might require super-user privileges which mknod will not. + */ +/*#define HAS_MKNOD /**/ + /* HAS_MKTIME: * This symbol, if defined, indicates that the mktime routine is * available. @@ -2007,6 +2015,13 @@ */ #define Gid_t gid_t /* Type for getgid(), etc... */ +/* Dev_t: + * This symbol holds the type used to declare device numbers. + * It can be int, long, dev_t, etc... It may be necessary to include + * to get any typedef'ed information. + */ +#define Dev_t dev_t /* type */ + /* Off_t: * This symbol holds the type used to declare offsets in the kernel. * It can be int, long, off_t, etc... It may be necessary to include diff --git a/win32/config_H.gc b/win32/config_H.gc index cfe0091..7fde31a 100644 --- a/win32/config_H.gc +++ b/win32/config_H.gc @@ -410,6 +410,14 @@ */ /*#define HAS_MKFIFO /**/ +/* HAS_MKNOD: + * This symbol, if defined, indicates that the mknod routine is + * available to create character and block special files. Otherwise, + * mknod should be able to do it for you. However, if mknod is there, + * mknod might require super-user privileges which mknod will not. + */ +/*#define HAS_MKNOD /**/ + /* HAS_MKTIME: * This symbol, if defined, indicates that the mktime routine is * available. @@ -2007,6 +2015,13 @@ */ #define Gid_t gid_t /* Type for getgid(), etc... */ +/* Dev_t: + * This symbol holds the type used to declare device numbers. + * It can be int, long, dev_t, etc... It may be necessary to include + * to get any typedef'ed information. + */ +#define Dev_t dev_t /* type */ + /* Off_t: * This symbol holds the type used to declare offsets in the kernel. * It can be int, long, off_t, etc... It may be necessary to include diff --git a/win32/config_H.vc b/win32/config_H.vc index dd293fa..81c322e 100644 --- a/win32/config_H.vc +++ b/win32/config_H.vc @@ -410,6 +410,14 @@ */ /*#define HAS_MKFIFO /**/ +/* HAS_MKNOD: + * This symbol, if defined, indicates that the mknod routine is + * available to create character and block special files. Otherwise, + * mknod should be able to do it for you. However, if mknod is there, + * mknod might require super-user privileges which mknod will not. + */ +/*#define HAS_MKNOD /**/ + /* HAS_MKTIME: * This symbol, if defined, indicates that the mktime routine is * available. @@ -2007,6 +2015,13 @@ */ #define Gid_t gid_t /* Type for getgid(), etc... */ +/* Dev_t: + * This symbol holds the type used to declare device numbers. + * It can be int, long, dev_t, etc... It may be necessary to include + * to get any typedef'ed information. + */ +#define Dev_t dev_t /* type */ + /* Off_t: * This symbol holds the type used to declare offsets in the kernel. * It can be int, long, off_t, etc... It may be necessary to include -- 2.7.4