Quickier thread-specific data on OS/2
[p5sagit/p5-mst-13.2.git] / dosish.h
index 9abbc5e..57b21b6 100644 (file)
--- a/dosish.h
+++ b/dosish.h
 #    define NO_LOCALECONV_MON_THOUSANDS_SEP
 #  endif
 #  ifdef USE_THREADS
-#    define NEED_PTHREAD_INIT
 #    define OLD_PTHREADS_API
-#    define YIELD pthread_yield(NULL)
-#    define DETACH(t)                          \
-       STMT_START {                            \
-         if (pthread_detach(&(t)->self)) {     \
-             MUTEX_UNLOCK(&(t)->mutex);                \
-             croak("panic: DETACH");           \
-         }                                     \
-       } STMT_END
-#    define pthread_mutexattr_default NULL
-#    define pthread_condattr_default NULL
-#    define pthread_addr_t any_t
 #  endif
 #else  /* DJGPP */
 #  ifdef WIN32
 #    define PERL_SYS_INIT(c,v) Perl_win32_init(c,v)
 #    define BIT_BUCKET "nul"
 #  else
-#    define PERL_SYS_INIT(c,v)
-#    define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
+#    ifdef CYGWIN32
+       extern struct _reent *__imp_reent_data; /* global impure pointer */
+#      define PERL_SYS_INIT(c,v)       \
+               MALLOC_INIT; impure_setup(__imp_reent_data);
+#      define OP_BINARY O_BINARY
+#      define BIT_BUCKET "nul"
+#      define HAS_IOCTL
+#      define HAS_UTIME
+#      define HAS_KILL
+#      define HAS_WAIT
+#      define HAS_CHOWN
+#      define HAS_GROUP
+#    else
+#      define PERL_SYS_INIT(c,v)
+#      define BIT_BUCKET "\\dev\\nul" /* "wanna be like, umm, Newlined, or somethin?" */
+#    endif
 #  endif
 #endif /* DJGPP */
 
 #  define HAS_UTIME
 #  define HAS_KILL
 #  define HAS_WAIT
+#  define HAS_CHOWN
 /*
  * This provides a layer of functions and macros to ensure extensions will
  * get to use the same RTL functions as the core.
  */
 #  ifndef HASATTRIBUTE
-#    include <win32iop.h>
+#    ifndef PERL_OBJECT
+#      include <win32iop.h>
+#    endif
 #  endif
 #endif /* WIN32 */