summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include/pthread.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2011-03-29 10:32:40 +0000
committerCorinna Vinschen <corinna@vinschen.de>2011-03-29 10:32:40 +0000
commitf00fe1b8e7bf295a0ca87ac472ead52f50037c09 (patch)
treef1d4a471ad96ee75a652778d692ab6360cd7dc22 /winsup/cygwin/include/pthread.h
parenta011f952168ce0219b64c6f0a9dc6a01f86e77c6 (diff)
downloadcygnal-f00fe1b8e7bf295a0ca87ac472ead52f50037c09.tar.gz
cygnal-f00fe1b8e7bf295a0ca87ac472ead52f50037c09.tar.bz2
cygnal-f00fe1b8e7bf295a0ca87ac472ead52f50037c09.zip
* 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.
Diffstat (limited to 'winsup/cygwin/include/pthread.h')
-rw-r--r--winsup/cygwin/include/pthread.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/winsup/cygwin/include/pthread.h b/winsup/cygwin/include/pthread.h
index 8e35808e1..10a53f3fd 100644
--- a/winsup/cygwin/include/pthread.h
+++ b/winsup/cygwin/include/pthread.h
@@ -162,6 +162,13 @@ int pthread_mutexattr_setprotocol (pthread_mutexattr_t *, int);
int pthread_mutexattr_setpshared (pthread_mutexattr_t *, int);
int pthread_mutexattr_settype (pthread_mutexattr_t *, int);
+/* Spinlocks */
+int pthread_spin_destroy (pthread_spinlock_t *);
+int pthread_spin_init (pthread_spinlock_t *, int);
+int pthread_spin_lock (pthread_spinlock_t *);
+int pthread_spin_trylock (pthread_spinlock_t *);
+int pthread_spin_unlock (pthread_spinlock_t *);
+
/* RW Locks */
int pthread_rwlock_destroy (pthread_rwlock_t *rwlock);
int pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr);