As suggested by Arthur: the threads and threads::shared
[p5sagit/p5-mst-13.2.git] / iperlsys.h
index 97a9a70..7ed5862 100644 (file)
@@ -275,9 +275,16 @@ struct IPerlStdIOInfo
 #define PerlSIO_stdout                 stdout
 #define PerlSIO_stderr                 stderr
 #define PerlSIO_fopen(x,y)             fopen(x,y)
+#ifdef __VOS__
+/* Work around VOS bug posix-979, wrongly setting errno when at end of file. */
+#define PerlSIO_fclose(f)              (((errno==1025)?errno=0:0),fclose(f))
+#define PerlSIO_feof(f)                        (((errno==1025)?errno=0:0),feof(f))
+#define PerlSIO_ferror(f)              (((errno==1025)?errno=0:0),ferror(f))
+#else
 #define PerlSIO_fclose(f)              fclose(f)
 #define PerlSIO_feof(f)                        feof(f)
 #define PerlSIO_ferror(f)              ferror(f)
+#endif
 #define PerlSIO_clearerr(f)            clearerr(f)
 #define PerlSIO_fgetc(f)                       fgetc(f)
 #ifdef FILE_base
@@ -795,6 +802,25 @@ struct IPerlMemInfo
        (*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 +836,7 @@ struct IPerlMemInfo
 #define PerlMemShared_is_locked()                          \
        (*PL_MemShared->pIsLocked)(PL_MemShared)
 
+#endif
 
 /* Parse tree memory macros */
 #define PerlMemParse_malloc(size)                          \
@@ -1083,6 +1110,8 @@ struct IPerlProcInfo
        win32_dynaload((f))
 #define PerlProc_GetOSError(s,e)                                       \
        win32_str_os_error((s), (e))
+#undef PerlProc_signal
+#define PerlProc_signal(n, h) win32_signal((n), (h))
 #endif
 #endif /* PERL_IMPLICIT_SYS */