summaryrefslogtreecommitdiff
path: root/mutex.c
diff options
context:
space:
mode:
authorrpj <rpj>1999-02-02 02:01:56 +0000
committerrpj <rpj>1999-02-02 02:01:56 +0000
commitcc29ad943903e9b8dba96cd978cb126f79f73e38 (patch)
tree17a310f2fb26c829acbecf498453531637bf863c /mutex.c
parent6237335fec273ac2b00c32609a8eef91c6ec7473 (diff)
Mods to compile under Mingw32 egcs.
Tue Feb 2 18:07:43 1999 Ross Johnson <rpj@swan.canberra.edu.au> * implement.h: Add #include <pthread.h>. Change sem_t to _pthread_sem_t. Various patches by Kevin Ruland <Kevin.Ruland@anheuser-busch.com> * signal.c (pthread_sigmask): Add and modify casts. Reverse LHS/RHS bitwise assignments. * pthread.h: Remove #include <semaphore.h>. (_PTHREAD_ATTR_VALID): Add cast. (struct pthread_t_): Add sigmask element. * dll.c: Add "extern C" for DLLMain. (DllMain): Add cast. * create.c (pthread_create): Set sigmask in thread. * condvar.c: Remove #include. Change sem_* to _pthread_sem_*. * attr.c: Changed #include. * Makefile.in: Additional targets and changes to build the library as a DLL. Fri Jan 29 11:56:28 1999 Ross Johnson <rpj@swan.canberra.edu.au> * Makefile.in (OBJS): Add semaphore.o to list. * semaphore.c (_pthread_sem_timedwait): Move from private.c. Rename sem_* to _pthread_sem_*. * pthread.h (pthread_cond_t): Change type of sem_t. _POSIX_SEMAPHORES no longer defined. * semaphore.h: Contents moved to implement.h. Removed from source tree. * implement.h: Add semaphore function prototypes and ename all functions to prepend '_pthread_'. They are now private to the pthreads-win32 implementation. * private.c: Change #warning. Move _pthread_sem_timedwait() to semaphore.c. * cleanup.c: Change #warning. * misc.c: Remove #include <errno.h> * pthread.def: Cleanup CVS merge conflicts. * global.c: Ditto. * ChangeLog: Ditto. * cleanup.c: Ditto.
Diffstat (limited to 'mutex.c')
-rw-r--r--mutex.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/mutex.c b/mutex.c
index 1a037f0..cca8fa3 100644
--- a/mutex.c
+++ b/mutex.c
@@ -42,20 +42,20 @@ _mutex_check_need_init(pthread_mutex_t *mutex)
* the number of processors + 1.
*
* We need to maintain the following per-mutex state independently:
- * - mutex staticinit (true iff static mutex and still
+ * - mutex staticinit (true iff mutex is static and still
* needs to be initialised)
* - mutex valid (false iff mutex has been destroyed)
*
- * For example, a mutex initialised by PTHREAD_MUTEX_INITIALIZER
- * in this implementation will be valid but uninitialised until the thread
- * attempts to lock it. It can also be destroyed (made invalid) before
- * ever being locked.
+ * For example, in this implementation a mutex initialised by
+ * PTHREAD_MUTEX_INITIALIZER will be 'valid' but uninitialised until
+ * the thread attempts to lock it. It can also be destroyed (made invalid)
+ * before ever being locked.
*/
EnterCriticalSection(&_pthread_mutex_test_init_lock);
/*
- * We got here because staticinit tested true.
- * Check staticinit again inside the critical section
+ * We got here because staticinit tested true, possibly under race
+ * conditions. Check staticinit again inside the critical section
* and only initialise if the mutex is valid (not been destroyed).
* If a static mutex has been destroyed, the application can
* re-initialise it only by calling pthread_mutex_init()