diff options
author | Bruno Haible <bruno@clisp.org> | 2019-07-15 02:37:44 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2019-07-15 02:37:44 +0200 |
commit | e09ceafdb38f57a50bc88e820c8af1d95b7aae22 (patch) | |
tree | bd129f657c2161e499084b4b4f7500f6458ffc7c /m4/pthread-mutex.m4 | |
parent | 222a7e6cb8b1d514efeca426345dc273e92233df (diff) | |
download | gnulib-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.m4 | 44 |
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 +]) |