Change 15292 by jhi@alpha on 2002/03/18 13:57:06
NetWare tweaks from C Aditya <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/NetWare/nwperlsys.c#6 edit
.... //depot/perl/cop.h#65 edit
.... //depot/perl/iperlsys.h#52 edit
.... //depot/perl/op.c#492 edit
Differences ...
==== //depot/perl/NetWare/nwperlsys.c#6 (text) ====
Index: perl/NetWare/nwperlsys.c
--- perl/NetWare/nwperlsys.c.~1~ Mon Mar 18 07:00:06 2002
+++ perl/NetWare/nwperlsys.c Mon Mar 18 07:00:06 2002
@@ -87,9 +87,8 @@
WCValHashTable<void*>* m_allocList;
m_allocList = new WCValHashTable<void*> (fnAllocListHash, 256);
fnInsertHashListAddrs(m_allocList, FALSE);
-
my_perl = perl_alloc_using(&perlMem,
- NULL,
+ &perlMem,
NULL,
&perlEnv,
&perlStdIO,
@@ -169,9 +168,8 @@
lpProc=&perlProc;
else
lpProc=*ppProc;
-
my_perl = perl_alloc_using(lpMem,
- NULL,
+ lpMem,
NULL,
lpEnv,
lpStdio,
==== //depot/perl/cop.h#65 (text) ====
Index: perl/cop.h
--- perl/cop.h.~1~ Mon Mar 18 07:00:06 2002
+++ perl/cop.h Mon Mar 18 07:00:06 2002
@@ -30,13 +30,25 @@
# define CopFILE(c) ((c)->cop_file)
# define CopFILEGV(c) (CopFILE(c) \
? gv_fetchfile(CopFILE(c)) : Nullgv)
-# define CopFILE_set(c,pv) ((c)->cop_file = savesharedpv(pv))
+
+ #ifdef NETWARE
+ #define CopFILE_set(c,pv) ((c)->cop_file = savepv(pv))
+ #else
+ #define CopFILE_set(c,pv) ((c)->cop_file = savesharedpv(pv))
+ #endif
+
# define CopFILESV(c) (CopFILE(c) \
? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv)
# define CopFILEAV(c) (CopFILE(c) \
? GvAV(gv_fetchfile(CopFILE(c))) : Nullav)
# define CopSTASHPV(c) ((c)->cop_stashpv)
-# define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = savesharedpv(pv))
+
+ #ifdef NETWARE
+ #define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = ((pv) ? savepv(pv) :
+Nullch))
+ #else
+ #define CopSTASHPV_set(c,pv) ((c)->cop_stashpv = savesharedpv(pv))
+ #endif
+
# define CopSTASH(c) (CopSTASHPV(c) \
? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv)
# define CopSTASH_set(c,hv) CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch)
@@ -44,8 +56,17 @@
&& (CopSTASHPV(c) == HvNAME(hv) \
|| (CopSTASHPV(c) && HvNAME(hv) \
&& strEQ(CopSTASHPV(c), HvNAME(hv)))))
-# define CopSTASH_free(c) PerlMemShared_free(CopSTASHPV(c))
-# define CopFILE_free(c) (PerlMemShared_free(CopFILE(c)),(CopFILE(c) = Nullch))
+ #ifdef NETWARE
+ #define CopSTASH_free(c) SAVECOPSTASH_FREE(c)
+ #else
+ #define CopSTASH_free(c) PerlMemShared_free(CopSTASHPV(c))
+ #endif
+
+ #ifdef NETWARE
+ #define CopFILE_free(c) SAVECOPFILE_FREE(c)
+ #else
+ #define CopFILE_free(c) (PerlMemShared_free(CopFILE(c)),(CopFILE(c) = Nullch))
+
+ #endif
#else
# define CopFILEGV(c) ((c)->cop_filegv)
# define CopFILEGV_set(c,gv) ((c)->cop_filegv = (GV*)SvREFCNT_inc(gv))
==== //depot/perl/iperlsys.h#52 (text) ====
Index: perl/iperlsys.h
--- perl/iperlsys.h.~1~ Mon Mar 18 07:00:06 2002
+++ perl/iperlsys.h Mon Mar 18 07:00:06 2002
@@ -795,6 +795,25 @@
(*PL_Mem->pIsLocked)(PL_Mem)
/* Shared memory macros */
+#ifdef NETWARE
+
+ #define PerlMemShared_malloc(size) \
+ (*PL_Mem->pMalloc)(PL_Mem, (size))
+#define PerlMemShared_realloc(buf, size) \
+ (*PL_Mem->pRealloc)(PL_Mem, (buf), (size))
+#define PerlMemShared_free(buf) \
+ (*PL_Mem->pFree)(PL_Mem, (buf))
+#define PerlMemShared_calloc(num, size) \
+ (*PL_Mem->pCalloc)(PL_Mem, (num), (size))
+#define PerlMemShared_get_lock() \
+ (*PL_Mem->pGetLock)(PL_Mem)
+#define PerlMemShared_free_lock() \
+ (*PL_Mem->pFreeLock)(PL_Mem)
+#define PerlMemShared_is_locked() \
+ (*PL_Mem->pIsLocked)(PL_Mem)
+
+#else
+
#define PerlMemShared_malloc(size) \
(*PL_MemShared->pMalloc)(PL_MemShared, (size))
#define PerlMemShared_realloc(buf, size) \
@@ -810,6 +829,7 @@
#define PerlMemShared_is_locked() \
(*PL_MemShared->pIsLocked)(PL_MemShared)
+#endif
/* Parse tree memory macros */
#define PerlMemParse_malloc(size) \
==== //depot/perl/op.c#492 (text) ====
Index: perl/op.c
--- perl/op.c.~1~ Mon Mar 18 07:00:06 2002
+++ perl/op.c Mon Mar 18 07:00:06 2002
@@ -45,8 +45,8 @@
*/
sz = (sz + 2*sizeof(I32 *) -1)/sizeof(I32 *);
if ((PL_OpSpace -= sz) < 0) {
- PL_OpPtr = (I32 **) PerlMemShared_malloc(PERL_SLAB_SIZE*sizeof(I32*));
- if (!PL_OpPtr) {
+ PL_OpPtr = (I32 **) PerlMemShared_malloc(PERL_SLAB_SIZE*sizeof(I32*));
+ if (!PL_OpPtr) {
return NULL;
}
Zero(PL_OpPtr,PERL_SLAB_SIZE,I32 **);
@@ -82,7 +82,11 @@
assert( ptr < ( (I32 **) slab + PERL_SLAB_SIZE) );
assert( *slab > 0 );
if (--(*slab) == 0) {
- PerlMemShared_free(slab);
+ #ifdef NETWARE
+ #define PerlMemShared PerlMem
+ #endif
+
+ PerlMemShared_free(slab);
if (slab == PL_OpSlab) {
PL_OpSpace = 0;
}
End of Patch.