Bruno Haible
f9f125c4f4
pthread-mutex tests: Strengthen tests.
...
* tests/test-pthread-mutex-type.c: New file.
* modules/pthread-mutex-tests (Files): Add it.
(Makefile.am): Arrange to test test-pthread-mutex-type.
* doc/posix-functions/pthread_mutex_lock.texi: Mention FreeBSD and
NetBSD problem.
* doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
2024-08-06 15:43:16 +02:00
Bruno Haible
081302a467
pthread-* tests, regex tests: Prepare for use of 'alarm'.
...
* modules/pthread-cond-tests (configure.ac): Test whether 'alarm' is
declared.
* modules/pthread-mutex-tests (configure.ac): Likewise.
* modules/pthread-once-tests (configure.ac): Likewise.
* modules/pthread-rwlock-tests (configure.ac): Likewise.
* modules/pthread-tss-tests (configure.ac): Likewise.
* modules/regex-tests (configure.ac): Likewise.
2024-06-03 12:51:08 +02:00
Bruno Haible
45c4df2e44
pthread-mutex, pthread-rwlock: Fix a compilation error.
...
* modules/pthread-mutex-tests (Files): Add m4/semaphore.m4.
(configure.ac): Check for semaphore.h. Require gl_SEMAPHORE.
* modules/pthread-rwlock-tests (Files): Add m4/semaphore.m4.
(configure.ac): Check for semaphore.h. Require gl_SEMAPHORE.
2024-06-03 12:30:32 +02:00
Bruno Haible
8c5f631464
tests: In multithreaded tests, use random() instead of rand().
...
* tests/test-asyncsafe-spin2.c (random_account, lock_mutator_thread):
Use random() instead of rand().
* tests/test-lock.c (random_account, lock_mutator_thread,
rwlock_mutator_thread, recshuffle): Likewise.
* tests/test-mtx.c (random_account, lock_mutator_thread, recshuffle):
Likewise.
* tests/test-pthread-mutex.c (random_account, lock_mutator_thread,
recshuffle): Likewise.
* tests/test-pthread-rwlock.c (random_account, rwlock_mutator_thread):
Likewise.
* tests/test-pthread-spin.c (random_account, lock_mutator_thread):
Likewise.
* tests/test-pthread-tss.c (perhaps_yield, worker_thread,
racecheck_thread): Likewise.
* tests/test-thread_local.c (perhaps_yield, worker_thread): Likewise.
* tests/test-tls.c (perhaps_yield, worker_thread, racecheck_thread):
Likewise.
* tests/test-tss.c (perhaps_yield, worker_thread, racecheck_thread):
Likewise.
* asyncsafe-spin-tests (Depends-on): Add random.
* lock-tests (Depends-on): Likewise.
* mtx-tests (Depends-on): Likewise.
* pthread-mutex-tests (Depends-on): Likewise.
* pthread-rwlock-tests (Depends-on): Likewise.
* pthread-spin-tests (Depends-on): Likewise.
* pthread-tss-tests (Depends-on): Likewise.
* threads-h-tests (Depends-on): Likewise.
* tls-tests (Depends-on): Likewise.
* tss-tests (Depends-on): Likewise.
2023-11-10 19:01:40 +01:00
Bruno Haible
3943b5a215
sched_yield: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB.
...
* m4/threadlib.m4: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB.
All uses changed.
* NEWS: Mention the change.
2023-01-07 18:06:51 +01:00
Bruno Haible
6b9216ed0b
tests: Reduce code duplication.
...
* tests/atomic-int-posix.h: New file, extracted from
tests/test-pthread-mutex.c.
* tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
* tests/test-pthread-rwlock.c: Likewise.
* modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
* modules/pthread-rwlock-tests (Files): Likewise.
2020-07-01 22:06:27 +02:00
Bruno Haible
93070c3edc
pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
...
* modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
with $(LIB_SEMAPHORE).
* modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
with $(LIB_SEMAPHORE).
2020-02-11 03:58:39 +01:00
Bruno Haible
478535b02e
sched_yield: Don't depend on threadlib and yield.
...
* m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
LIB_SCHED_YIELD.
(gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
m4/yield.m4).
* m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
gl_THREADLIB and gl_YIELD.
* m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
based on $(LIB_SCHED_YIELD).
* m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
$(LIB_SCHED_YIELD), not $(YIELD_LIB).
* modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
(Depends-on): Remove threadlib.
(Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
* modules/threads-h (Files): Remove m4/yield.m4.
* modules/pthread-cond-tests (Makefile.am): Link the programs against
$(LIB_SCHED_YIELD), not $(YIELD_LIB).
* modules/pthread-mutex-tests (Makefile.am): Likewise.
* modules/pthread-once-tests (Makefile.am): Likewise.
* modules/pthread-rwlock-tests (Makefile.am): Likewise.
* modules/pthread-tss-tests (Makefile.am): Likewise.
2019-12-21 13:43:31 +01:00
Bruno Haible
6a44771a99
pthread-h: Fix link errors with --enable-threads=isoc on AIX.
...
* m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
gl_THREADLIB_EARLY_BODY.
(gl_THREADLIB_EARLY_BODY): Invoke it.
(gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
(gl_THREADLIB_BODY): Invoke it.
(gl_PTHREADLIB): New macro.
* m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
* modules/pthread-h (Files): Add threadlib.m4.
(Depends-on): Remove threadlib.
(configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
and _THREAD_SAFE here.
(Link): Use LIBPTHREAD, not LIBTHREAD.
* modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
LIBMULTITHREAD.
* modules/pthread-once (Link): Likewise.
* modules/pthread-mutex (Link): Likewise.
* modules/pthread-rwlock (Link): Likewise.
* modules/pthread-cond (Link): Likewise.
* modules/pthread-tss (Link): Likewise.
* modules/pthread-spin (Link): Likewise.
* modules/pthread (Link): Likewise.
* modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
* modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
* modules/pthread-once-tests (test_pthread_once1_LDADD,
test_pthread_once2_LDADD): Likewise.
* modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
* modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
* modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
* modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
2019-12-02 02:59:26 +01:00
Bruno Haible
243f6dbf66
pthread-mutex: Add tests.
...
* tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
tests/test-mtx.c.
* modules/pthread-mutex-tests: New file.
2019-07-15 02:41:12 +02:00