Index: newlib/libc/include/sys/signal.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/include/sys/signal.h,v
retrieving revision 1.7
diff -u -p -r1.7 signal.h
--- signal.h	2001/02/15 06:42:35	1.7
+++ signal.h	2001/03/21 08:37:57
@@ -134,7 +134,7 @@ struct sigaction 
 
 int _EXFUN(sigprocmask, (int how, const sigset_t *set, sigset_t *oset));
 
-#if defined(_POSIX_THREADS)
+#if defined(_POSIX_THREADS) || defined(__CYGWIN__)
 int _EXFUN(pthread_sigmask, (int how, const sigset_t *set, sigset_t *oset));
 #endif
 
@@ -158,7 +158,7 @@ int _EXFUN(sigpending, (sigset_t *));
 int _EXFUN(sigsuspend, (const sigset_t *));
 int _EXFUN(sigpause, (int));
 
-#if defined(_POSIX_THREADS)
+#if defined(_POSIX_THREADS) || defined(__CYGWIN__)
 int _EXFUN(pthread_kill, (pthread_t thread, int sig));
 #endif
 
Index: newlib/libc/include/sys/types.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/include/sys/types.h,v
retrieving revision 1.5
diff -u -p -r1.5 types.h
--- types.h	2000/12/12 01:24:08	1.5
+++ types.h	2001/03/21 08:37:58
@@ -202,7 +202,7 @@ typedef	struct _types_fd_set {
    condition variables, and keys.  But since RTEMS is currently the only
    newlib user of these, the ifdef is just on RTEMS. */
 
-#if defined(__rtems__)
+#if defined(__rtems__) || defined(__CYGWIN__)
 
 #ifndef __clockid_t_defined
 typedef _CLOCKID_T_ clockid_t;
@@ -216,8 +216,16 @@ typedef _TIMER_T_ timer_t;
 
 #include <sys/features.h>
 
-#if defined(_POSIX_THREADS)
 
+/* Cygwin will probably never have full posix compliance due to little things
+ * like an inability to set the stackaddress. Cygwin is also using void *  
+ * pointers rather than structs to ensure maximum binary compatability with
+ * previous releases.
+ * This means that we don't use the types defined here, but rather in
+ * <cygwin/types.h>
+ */
+#if defined(_POSIX_THREADS) && !(__CYGWIN__)
+
 #include <sys/sched.h>
 
 /*
@@ -309,7 +317,10 @@ typedef struct {
   int   is_initialized;  /* is this structure initialized? */
   int   init_executed;   /* has the initialization routine been run? */
 } pthread_once_t;       /* dynamic package initialization */
-
+#else
+#if defined (__CYGWIN__)
+#include <cygwin/types.h>
+#endif
 #endif /* defined(_POSIX_THREADS) */
 
 #endif  /* defined(__rtems__) */
