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.

Reply via email to