summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1998-06-23 10:50:10 +0000
committerGurusamy Sarathy <gsar@cpan.org>1998-06-23 10:50:10 +0000
commit066ef5b548575efffe272b7363a2f5050ebd7e2d (patch)
tree09ca6ef3162bdf047c8476dad3f3bb9067b7c150
parentcb68f92dafee55e318e6fa14f60158f7b7d20a65 (diff)
downloadperl-066ef5b548575efffe272b7363a2f5050ebd7e2d.tar.gz
more MULTIPLICITY tweaks
p4raw-id: //depot/perl@1206
-rw-r--r--objpp.h2
-rw-r--r--perl.c37
-rw-r--r--perl.h8
-rw-r--r--proto.h2
-rw-r--r--win32/GenCAPI.pl1
-rw-r--r--win32/config.bc1
-rw-r--r--win32/config.gc1
-rw-r--r--win32/config.vc1
-rw-r--r--win32/config_H.bc15
-rw-r--r--win32/config_H.gc15
-rw-r--r--win32/config_H.vc15
11 files changed, 82 insertions, 16 deletions
diff --git a/objpp.h b/objpp.h
index 98dd95126f..75f8e69768 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 084a1c3e87..43a00706ae 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 a2fa03df01..3d20cf610f 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 cff62d6490..0beb3849be 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 2e136ed5c6..dbe9fd7f8a 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 2d25e46ef3..0c62fc5722 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 1dfc04b112..5b8fb2ebef 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 806549c363..823532ae5f 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 febd4ba2e6..e0efdacb3f 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
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Dev_t dev_t /* <device> 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 cfe0091d86..7fde31ae1a 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
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Dev_t dev_t /* <device> 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 dd293fa76c..81c322e2ae 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
+ * <sys/types.h> to get any typedef'ed information.
+ */
+#define Dev_t dev_t /* <device> 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