diff -urp src.old/winsup/cygwin/include/cygwin/types.h src/winsup/cygwin/include/cygwin/types.h --- src.old/winsup/cygwin/include/cygwin/types.h Tue Jun 11 04:52:18 2002 +++ src/winsup/cygwin/include/cygwin/types.h Fri Jul 5 10:02:31 2002 @@ -61,14 +61,21 @@ typedef __gid16_t gid_t; #if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus) -typedef void *pthread_t; -typedef void *pthread_mutex_t; +typedef struct {char __dummy;} __pthread_t; +typedef __pthread_t *pthread_t; +typedef struct {char __dummy;} __pthread_mutex_t; +typedef __pthread_mutex_t *pthread_mutex_t; -typedef void *pthread_key_t; -typedef void *pthread_attr_t; -typedef void *pthread_mutexattr_t; -typedef void *pthread_condattr_t; -typedef void *pthread_cond_t; +typedef struct {char __dummy;} __pthread_key_t; +typedef __pthread_key_t *pthread_key_t; +typedef struct {char __dummy;} __pthread_attr_t; +typedef __pthread_attr_t *pthread_attr_t; +typedef struct {char __dummy;} __pthread_mutexattr_t; +typedef __pthread_mutexattr_t *pthread_mutexattr_t; +typedef struct {char __dummy;} __pthread_condattr_t; +typedef __pthread_condattr_t *pthread_condattr_t; +typedef struct {char __dummy;} __pthread_cond_t; +typedef __pthread_cond_t *pthread_cond_t; /* These variables are not user alterable. This means you!. */ typedef struct @@ -77,8 +84,10 @@ typedef struct int state; } pthread_once_t; -typedef void *pthread_rwlock_t; -typedef void *pthread_rwlockattr_t; +typedef struct {char __dummy;} __pthread_rwlock_t; +typedef __pthread_rwlock_t *pthread_rwlock_t; +typedef struct {char __dummy;} __pthread_rwlockattr_t; +typedef __pthread_rwlockattr_t *pthread_rwlockattr_t; #else diff -urp src.old/winsup/cygwin/include/pthread.h src/winsup/cygwin/include/pthread.h --- src.old/winsup/cygwin/include/pthread.h Tue Jul 2 10:17:10 2002 +++ src/winsup/cygwin/include/pthread.h Mon Jul 8 09:51:40 2002 @@ -44,7 +44,7 @@ extern "C" #define PTHREAD_CANCEL_DISABLE 1 #define PTHREAD_CANCELED ((void *)-1) /* this should be a value that can never be a valid address */ -#define PTHREAD_COND_INITIALIZER (void *)21 +#define PTHREAD_COND_INITIALIZER (pthread_cond_t)21 #define PTHREAD_CREATE_DETACHED 1 /* the default : joinable */ #define PTHREAD_CREATE_JOINABLE 0 @@ -54,7 +54,7 @@ extern "C" #define PTHREAD_MUTEX_RECURSIVE 1 #define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_ERRORCHECK /* this should be too low to ever be a valid address */ -#define PTHREAD_MUTEX_INITIALIZER (void *)20 +#define PTHREAD_MUTEX_INITIALIZER (pthread_mutex_t)20 #define PTHREAD_ONCE_INIT { PTHREAD_MUTEX_INITIALIZER, 0 } #define PTHREAD_PRIO_INHERIT #define PTHREAD_PRIO_NONE diff -urp src.old/winsup/cygwin/include/semaphore.h src/winsup/cygwin/include/semaphore.h --- src.old/winsup/cygwin/include/semaphore.h Wed Mar 21 16:06:22 2001 +++ src/winsup/cygwin/include/semaphore.h Fri Jul 5 10:02:32 2002 @@ -21,7 +21,8 @@ extern "C" #endif #ifndef __INSIDE_CYGWIN__ - typedef void *sem_t; + typedef struct {char __dummy;} __sem_t; + typedef __sem_t *sem_t; #endif #define SEM_FAILED 0