diff options
| author | Andre Heinecke <[email protected]> | 2016-11-08 14:32:14 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2016-11-10 12:33:13 +0000 | 
| commit | 09b64554328445e99a8cc78fc34ea49c2ea2e7f9 (patch) | |
| tree | f5d68498f7b5b099a62486c45ce5aa23ee6445d3 /tests/gpg/Makefile.am | |
| parent | python: Require at least GPGME 1.7 for out-of-tree builds. (diff) | |
| download | gpgme-09b64554328445e99a8cc78fc34ea49c2ea2e7f9.tar.gz gpgme-09b64554328445e99a8cc78fc34ea49c2ea2e7f9.zip | |
core: Use gpgrt locking for thread safeness
* configure.ac: Require libgpg-error 1.17. No longer
check for pthread.
* doc/gpgme.texi: Document removed neccessity for thread
safe gpgme flavours.
* src/sema.h (DEFINE_GLOBAL_LOCK),
(DEFINE_STATIC_LOCK, INIT_LOCK, DECLARE_LOCK)
(DESTROY_LOCK, LOCK, UNLOCK): Change to gpgrt equivalents.
* src/posix-sema.c, src/w32-sema.c: Removed.
* src/Makefile.am: Remove libpthread and
Update accordingly.
* src/ath.c, src/ath.h (ath_mutex_init)
(ath_mutex_destroy, ath_mutex_lock, ath_mutex_unlock): Removed.
* src/ath.h (ATH_MUTEX_INITIALIZER): Removed.
* src/version.c (do_subsystem_inits): sema_subsystem_init is
no longer required.
* tests/gpg/Makefile.am: Add new threading tests.
(t_thread1_LDADD, t_cancel_LDADD):
Use just gpgme.
* tests/gpg/t-thread-keylist-verify.c,
tests/gpg/t-thread-keylist.c: New.
* src/gpgme-config.in: Use -lgpgme for thread-model pthread.
--
Using gpgrt locks instead of pthread locks removes
the neccessity to link pthread directly to gpgme and
have a different, thread safe flavor of gpgme. Now
gpgme is thread-safe if the conditions mentioned
in the doc are met.
As the cpp bindings linked against libgpgme
and not libgpgme-pthread this fixes threading problems
with them.
libgpgme-pthread is removed but gpgme-config still supports
--thread=pthread for compatibility with find scripts.
Diffstat (limited to 'tests/gpg/Makefile.am')
| -rw-r--r-- | tests/gpg/Makefile.am | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/tests/gpg/Makefile.am b/tests/gpg/Makefile.am index 2538f631..dd33b0a2 100644 --- a/tests/gpg/Makefile.am +++ b/tests/gpg/Makefile.am @@ -38,7 +38,8 @@ c_tests = \          t-encrypt t-encrypt-sym t-encrypt-sign t-sign t-signers		\  	t-decrypt t-verify t-decrypt-verify t-sig-notation t-export	\  	t-import t-trustlist t-edit t-keylist t-keylist-sig t-wait	\ -	t-encrypt-large t-file-name t-gpgconf t-encrypt-mixed $(tests_unix) +	t-encrypt-large t-file-name t-gpgconf t-encrypt-mixed $(tests_unix) \ +	t-thread-keylist t-thread-keylist-verify  TESTS = initial.test $(c_tests) final.test @@ -61,8 +62,10 @@ EXTRA_DIST = initial.test final.test \  AM_CPPFLAGS = -I$(top_builddir)/src @GPG_ERROR_CFLAGS@  AM_LDFLAGS = -no-install  LDADD = ../../src/libgpgme.la -t_thread1_LDADD = ../../src/libgpgme-pthread.la -lpthread -t_cancel_LDADD = ../../src/libgpgme-pthread.la -lpthread +t_thread1_LDADD = ../../src/libgpgme.la -lpthread +t_thread_keylist_LDADD = ../../src/libgpgme.la -lpthread +t_thread_keylist_verify_LDADD = ../../src/libgpgme.la -lpthread +t_cancel_LDADD = ../../src/libgpgme.la -lpthread  # We don't run t-genkey and t-cancel in the test suite, because it  # takes too long | 
