summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-06-20 04:08:16 +0200
committerBruno Haible <bruno@clisp.org>2019-06-20 04:08:59 +0200
commit2535ce3ac9fdd46ec44b0fa5f1e4f6dcaaaebd99 (patch)
tree38331348266ff9c92ba33f93b1907977949b0489 /modules
parent6c3d118e8303b1f2cfdf17749d39392f1340077d (diff)
downloadgnulib-2535ce3ac9fdd46ec44b0fa5f1e4f6dcaaaebd99.tar.gz
windows-mutex: New module.
* lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h. * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c. * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h. * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h. (gl_spinlock_t): Remove type. (gl_lock_t): Define using glwthread_mutex_t. (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT. (glthread_lock_init): Define using glwthread_mutex_init. (glthread_lock_lock): Define using glwthread_mutex_lock. (glthread_lock_unlock): Define using glwthread_mutex_unlock. (glthread_lock_destroy): Define using glwthread_mutex_destroy. (glthread_lock_init_func, glthread_lock_lock_func, glthread_lock_unlock_func, glthread_lock_destroy_func): Remove declarations. Use glwthread_spinlock_t instead of gl_spinlock_t. (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using GLWTHREAD_SPINLOCK_INIT. * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func, glthread_lock_unlock_func, glthread_lock_destroy_func): Remove functions. * lib/glthread/cond.h: Use glwthread_spinlock_t instead of gl_spinlock_t. * modules/windows-mutex: New file. * modules/lock (Depends-on): Add windows-mutex.
Diffstat (limited to 'modules')
-rw-r--r--modules/lock1
-rw-r--r--modules/windows-mutex28
2 files changed, 29 insertions, 0 deletions
diff --git a/modules/lock b/modules/lock
index fca83413ad..351e902bc9 100644
--- a/modules/lock
+++ b/modules/lock
@@ -10,6 +10,7 @@ m4/pthread_rwlock_rdlock.m4
Depends-on:
extensions
threadlib
+windows-mutex [test $gl_threads_api = windows]
windows-once [test $gl_threads_api = windows]
configure.ac:
diff --git a/modules/windows-mutex b/modules/windows-mutex
new file mode 100644
index 0000000000..18aabcc98a
--- /dev/null
+++ b/modules/windows-mutex
@@ -0,0 +1,28 @@
+Description:
+Plain mutexes (native Windows implementation).
+
+Files:
+lib/windows-mutex.h
+lib/windows-mutex.c
+lib/windows-spinlock.h
+
+Depends-on:
+
+configure.ac:
+AC_REQUIRE([AC_CANONICAL_HOST])
+case "$host_os" in
+ mingw*)
+ AC_LIBOBJ([windows-mutex])
+ ;;
+esac
+
+Makefile.am:
+
+Include:
+"windows-mutex.h"
+
+License:
+LGPLv2+
+
+Maintainer:
+all