summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2015-06-15 10:32:11 +0200
committerWerner Koch <wk@gnupg.org>2015-06-15 10:32:11 +0200
commit13918d05a333255d22aa6718dd467fcb8eaf80c8 (patch)
tree8ae6fb48ee7e93bf12cc92b578abe6b36292fa10 /tests
parent4171d61a97d9628532db84b590a9c135f360fa90 (diff)
downloadlibgpg-error-13918d05a333255d22aa6718dd467fcb8eaf80c8.tar.gz
Allow building with --disable-threads.
* src/posix-lock-obj.h (LOCK_ABI_NOT_AVAILABLE): New. (LOCK_ABI_VERSION): Define depending on USE_POSIX_THREADS. (_gpgrt_lock_t) [!USE_POSIX_THREADS]: Do not define the union. * src/gen-posix-lock-obj.c: Take care of USE_POSIX_THREADS. * src/posix-lock.c (_gpgrt_lock_init, _gpgrt_lock_lock) (_gpgrt_lock_trylock, _gpgrt_lock_unlock) (_gpgrt_lock_destroy): Return success for a no-threads version. * tests/t-lock.c: Disable tests if threads are not available. * src/mkheader.c (main): Add NO-THREADS to the printed comment. * configure.ac: Show NO-TRHEADS in the final summary. -- Warning: Using --disable-threads creates a different ABI which we can't encode in the the cpu-vendor-os triplet. The run time checks should detect this and abort the process. Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/t-lock.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/tests/t-lock.c b/tests/t-lock.c
index fd645eb..831e224 100644
--- a/tests/t-lock.c
+++ b/tests/t-lock.c
@@ -1,5 +1,5 @@
/* t-lock.c - Check the lock functions
- * Copyright (C) 2013 g10 Code GmbH
+ * Copyright (C) 2013, 2015 g10 Code GmbH
*
* This file is part of libgpg-error.
*
@@ -105,6 +105,7 @@ print_accounts (void)
}
+#if defined(_WIN32) || defined(USE_POSIX_THREADS)
/* Get a a random integer value in the range 0 to HIGH. */
static unsigned int
get_rand (int high)
@@ -190,6 +191,7 @@ accountant_thread (void *arg)
}
return THREAD_RET_VALUE;
}
+#endif /*_WIN32||USE_POSIX_THREADS*/
static void
@@ -234,6 +236,7 @@ run_test (void)
CloseHandle (rthread);
#else /*!_WIN32*/
+# ifdef USE_POSIX_THREADS
pthread_t rthread;
pthread_t athreads[N_ACCOUNTANTS];
int i;
@@ -253,7 +256,11 @@ run_test (void)
stop_revision_thread = 1;
pthread_join (rthread, NULL);
show ("revision thread has terminated");
-
+# else /*!USE_POSIX_THREADS*/
+ verbose++;
+ show ("no thread support - skipping test\n", PGM);
+ verbose--;
+# endif /*!USE_POSIX_THREADS*/
#endif /*!_WIN32*/
gpgrt_lock_destroy (&accounts_lock);