* cygwin.din (pthread_spin_destroy): Export.
(pthread_spin_init): Export. (pthread_spin_lock): Export. (pthread_spin_trylock): Export. (pthread_spin_unlock): Export. * posix.sgml (std-susv4): Add pthread_spin_destroy, pthread_spin_init, pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock. (std-notimpl): Remove pthread_spin_[...]. * pthread.cc (pthread_spin_init): New function. * thread.cc (pthread_spinlock::is_good_object): New function. (pthread_mutex::pthread_mutex): Rearrange initializers to accommodate protected data in pthread_mutex. (pthread_spinlock::pthread_spinlock): New constructor. (pthread_spinlock::lock): New method. (pthread_spinlock::unlock): New method. (pthread_spinlock::init): New method. (pthread_spin_lock): New function. (pthread_spin_trylock): New function. (pthread_spin_unlock): New function. (pthread_spin_destroy): New function. * thread.h (PTHREAD_SPINLOCK_MAGIC): Define. (class pthread_mutex): Change access level of members shared with derived classes to protected. (pthread_mutex::set_shared): New protected method. (class pthread_spinlock): New class, derived class of pthread_mutex. * include/pthread.h (pthread_spin_destroy): Declare. (pthread_spin_init): Declare. (pthread_spin_lock): Declare. (pthread_spin_trylock): Declare. (pthread_spin_unlock): Declare. * include/cygwin/types.h (pthread_spinlock_t): New typedef. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
/* types.h
|
||||
|
||||
Copyright 2001, 2002, 2003, 2005, 2006, 2010 Red Hat Inc.
|
||||
Copyright 2001, 2002, 2003, 2005, 2006, 2010, 2011 Red Hat Inc.
|
||||
Written by Robert Collins <rbtcollins@hotmail.com>
|
||||
|
||||
This file is part of Cygwin.
|
||||
@ -195,6 +195,7 @@ typedef struct
|
||||
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;
|
||||
|
||||
@ -210,6 +211,7 @@ typedef class pthread_mutexattr *pthread_mutexattr_t;
|
||||
typedef class pthread_condattr *pthread_condattr_t;
|
||||
typedef class pthread_cond *pthread_cond_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;
|
||||
|
||||
|
@ -401,12 +401,14 @@ details. */
|
||||
235: Export madvise.
|
||||
236: Export pthread_yield, __xpg_strerror_r.
|
||||
237: Export strchrnul.
|
||||
238: Export pthread_spin_destroy, pthread_spin_init, pthread_spin_lock,
|
||||
pthread_spin_trylock, pthread_spin_unlock.
|
||||
*/
|
||||
|
||||
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
||||
|
||||
#define CYGWIN_VERSION_API_MAJOR 0
|
||||
#define CYGWIN_VERSION_API_MINOR 237
|
||||
#define CYGWIN_VERSION_API_MINOR 238
|
||||
|
||||
/* There is also a compatibity version number associated with the
|
||||
shared memory regions. It is incremented when incompatible
|
||||
|
Reference in New Issue
Block a user