summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2019-07-15 02:40:57 +0200
committerBruno Haible <bruno@clisp.org>2019-07-15 02:40:57 +0200
commite08989ca11a13c8a09cb0c34f797af5a40753379 (patch)
treede5f58efb46f3fd4cf6b57f6aadecaadc1c23911 /m4
parent0473a3cccf079d2292e75babd94590523518bb0f (diff)
downloadgnulib-e08989ca11a13c8a09cb0c34f797af5a40753379.tar.gz
pthread-cond: New module.
* lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal, pthread_cond_wait): Remove inline definitions. * lib/pthread-cond.c: New file. * m4/pthread-cond.m4: New file. * modules/pthread-cond: New file. * doc/posix-functions/pthread_cond_init.texi: Mention the new module. * doc/posix-functions/pthread_condattr_init.texi: Likewise. * doc/posix-functions/pthread_condattr_destroy.texi: Likewise. * doc/posix-functions/pthread_cond_wait.texi: Likewise. * doc/posix-functions/pthread_cond_timedwait.texi: Likewise. * doc/posix-functions/pthread_cond_signal.texi: Likewise. * doc/posix-functions/pthread_cond_broadcast.texi: Likewise. * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
Diffstat (limited to 'm4')
-rw-r--r--m4/pthread-cond.m436
1 files changed, 36 insertions, 0 deletions
diff --git a/m4/pthread-cond.m4 b/m4/pthread-cond.m4
new file mode 100644
index 0000000000..06cb0dc26c
--- /dev/null
+++ b/m4/pthread-cond.m4
@@ -0,0 +1,36 @@
+# pthread-cond.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_COND],
+[
+ 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_COND_INIT=1
+ REPLACE_PTHREAD_CONDATTR_INIT=1
+ REPLACE_PTHREAD_CONDATTR_DESTROY=1
+ REPLACE_PTHREAD_COND_WAIT=1
+ REPLACE_PTHREAD_COND_TIMEDWAIT=1
+ REPLACE_PTHREAD_COND_SIGNAL=1
+ REPLACE_PTHREAD_COND_BROADCAST=1
+ REPLACE_PTHREAD_COND_DESTROY=1
+ else
+ if test $HAVE_PTHREAD_H = 0; then
+ HAVE_PTHREAD_COND_INIT=1
+ HAVE_PTHREAD_CONDATTR_INIT=1
+ HAVE_PTHREAD_CONDATTR_DESTROY=1
+ HAVE_PTHREAD_COND_WAIT=1
+ HAVE_PTHREAD_COND_TIMEDWAIT=1
+ HAVE_PTHREAD_COND_SIGNAL=1
+ HAVE_PTHREAD_COND_BROADCAST=1
+ HAVE_PTHREAD_COND_DESTROY=1
+ fi
+ fi
+])