Move pthread types to <sys/_pthreadtypes.h>
This makes it possible provide operating system specific types for <pthread.h>. It is in line with the FreeBSD header file structure and allows a future cleanup of <pthread.h> to not expose unrelated things via <sys/types.h> and <unistd.h>. Glibc uses the similar <bits/pthreadtypes.h> for this purpose. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
This commit is contained in:
committed by
Corinna Vinschen
parent
ba49de472f
commit
e655d3d34b
59
winsup/cygwin/include/sys/_pthreadtypes.h
Normal file
59
winsup/cygwin/include/sys/_pthreadtypes.h
Normal file
@ -0,0 +1,59 @@
|
||||
/* machine/types.h
|
||||
Written by Robert Collins <rbtcollins@hotmail.com>
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#ifndef _SYS__PTHREADTYPES_H_
|
||||
#define _SYS__PTHREADTYPES_H_
|
||||
|
||||
#if !defined(__INSIDE_CYGWIN__) || !defined(__cplusplus)
|
||||
|
||||
typedef struct __pthread_t {char __dummy;} *pthread_t;
|
||||
typedef struct __pthread_mutex_t {char __dummy;} *pthread_mutex_t;
|
||||
|
||||
typedef struct __pthread_key_t {char __dummy;} *pthread_key_t;
|
||||
typedef struct __pthread_attr_t {char __dummy;} *pthread_attr_t;
|
||||
typedef struct __pthread_mutexattr_t {char __dummy;} *pthread_mutexattr_t;
|
||||
typedef struct __pthread_condattr_t {char __dummy;} *pthread_condattr_t;
|
||||
typedef struct __pthread_cond_t {char __dummy;} *pthread_cond_t;
|
||||
typedef struct __pthread_barrierattr_t {char __dummy;} *pthread_barrierattr_t;
|
||||
typedef struct __pthread_barrier_t {char __dummy;} *pthread_barrier_t;
|
||||
|
||||
/* These variables are not user alterable. This means you!. */
|
||||
typedef struct
|
||||
{
|
||||
pthread_mutex_t mutex;
|
||||
int state;
|
||||
}
|
||||
pthread_once_t;
|
||||
typedef struct __pthread_spinlock_t {char __dummy;} *pthread_spinlock_t;
|
||||
typedef struct __pthread_rwlock_t {char __dummy;} *pthread_rwlock_t;
|
||||
typedef struct __pthread_rwlockattr_t {char __dummy;} *pthread_rwlockattr_t;
|
||||
|
||||
#else
|
||||
|
||||
/* pthreads types */
|
||||
|
||||
typedef class pthread *pthread_t;
|
||||
typedef class pthread_mutex *pthread_mutex_t;
|
||||
typedef class pthread_key *pthread_key_t;
|
||||
typedef class pthread_attr *pthread_attr_t;
|
||||
typedef class pthread_mutexattr *pthread_mutexattr_t;
|
||||
typedef class pthread_condattr *pthread_condattr_t;
|
||||
typedef class pthread_cond *pthread_cond_t;
|
||||
typedef class pthread_barrier *pthread_barrier_t;
|
||||
typedef class pthread_barrierattr *pthread_barrierattr_t;
|
||||
typedef class pthread_once pthread_once_t;
|
||||
typedef class pthread_spinlock *pthread_spinlock_t;
|
||||
typedef class pthread_rwlock *pthread_rwlock_t;
|
||||
typedef class pthread_rwlockattr *pthread_rwlockattr_t;
|
||||
|
||||
/* semaphores types */
|
||||
typedef class semaphore *sem_t;
|
||||
#endif /* __INSIDE_CYGWIN__ */
|
||||
|
||||
#endif /* ! _SYS__PTHREADTYPES_H_ */
|
Reference in New Issue
Block a user