summaryrefslogtreecommitdiff
path: root/m4/pthread-mutex.m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-07-15 02:37:44 +0200
committerBruno Haible <bruno@clisp.org>2019-07-15 02:37:44 +0200
commite09ceafdb38f57a50bc88e820c8af1d95b7aae22 (patch)
treebd129f657c2161e499084b4b4f7500f6458ffc7c /m4/pthread-mutex.m4
parent222a7e6cb8b1d514efeca426345dc273e92233df (diff)
downloadgnulib-e09ceafdb38f57a50bc88e820c8af1d95b7aae22.tar.gz
pthread-mutex: New module.
* lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init, pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock, pthread_mutex_unlock): Remove inline definitions. * lib/pthread-mutex.c: New file. * m4/pthread-mutex.m4: New file. * modules/pthread-mutex: New file. * doc/posix-functions/pthread_mutex_init.texi: Mention the new module. * doc/posix-functions/pthread_mutexattr_init.texi: Likewise. * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise. * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise. * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise. * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise. * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise. * doc/posix-functions/pthread_mutex_lock.texi: Likewise. * doc/posix-functions/pthread_mutex_trylock.texi: Likewise. * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise. * doc/posix-functions/pthread_mutex_unlock.texi: Likewise. * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
Diffstat (limited to 'm4/pthread-mutex.m4')
-rw-r--r--m4/pthread-mutex.m444
1 files changed, 44 insertions, 0 deletions
diff --git a/m4/pthread-mutex.m4 b/m4/pthread-mutex.m4
new file mode 100644
index 0000000000..c7d74f96e5
--- /dev/null
+++ b/m4/pthread-mutex.m4
@@ -0,0 +1,44 @@
+# pthread-mutex.m4 serial 1
+dnl Copyright (C) 2019 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+AC_DEFUN([gl_PTHREAD_MUTEX],
+[
+ AC_REQUIRE([gl_PTHREAD_H])
+ AC_REQUIRE([AC_CANONICAL_HOST])
+
+ if { case "$host_os" in mingw*) true;; *) false;; esac; } \
+ && test $gl_threads_api = windows; then
+ dnl Choose function names that don't conflict with the mingw-w64 winpthreads
+ dnl library.
+ REPLACE_PTHREAD_MUTEX_INIT=1
+ REPLACE_PTHREAD_MUTEXATTR_INIT=1
+ REPLACE_PTHREAD_MUTEXATTR_GETTYPE=1
+ REPLACE_PTHREAD_MUTEXATTR_SETTYPE=1
+ REPLACE_PTHREAD_MUTEXATTR_GETROBUST=1
+ REPLACE_PTHREAD_MUTEXATTR_SETROBUST=1
+ REPLACE_PTHREAD_MUTEXATTR_DESTROY=1
+ REPLACE_PTHREAD_MUTEX_LOCK=1
+ REPLACE_PTHREAD_MUTEX_TRYLOCK=1
+ REPLACE_PTHREAD_MUTEX_TIMEDLOCK=1
+ REPLACE_PTHREAD_MUTEX_UNLOCK=1
+ REPLACE_PTHREAD_MUTEX_DESTROY=1
+ else
+ if test $HAVE_PTHREAD_H = 0; then
+ HAVE_PTHREAD_MUTEX_INIT=0
+ HAVE_PTHREAD_MUTEXATTR_INIT=0
+ HAVE_PTHREAD_MUTEXATTR_GETTYPE=0
+ HAVE_PTHREAD_MUTEXATTR_SETTYPE=0
+ HAVE_PTHREAD_MUTEXATTR_GETROBUST=0
+ HAVE_PTHREAD_MUTEXATTR_SETROBUST=0
+ HAVE_PTHREAD_MUTEXATTR_DESTROY=0
+ HAVE_PTHREAD_MUTEX_LOCK=0
+ HAVE_PTHREAD_MUTEX_TRYLOCK=0
+ dnl HAVE_PTHREAD_MUTEX_TIMEDLOCK is set in pthread_mutex_timedlock.m4.
+ HAVE_PTHREAD_MUTEX_UNLOCK=0
+ HAVE_PTHREAD_MUTEX_DESTROY=0
+ fi
+ fi
+])