diff options
author | Ingo Klöcker <[email protected]> | 2023-11-23 15:13:39 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2023-11-23 15:13:39 +0000 |
commit | 1bbe2d4b707843cacf020c252ce883ec45bdbc38 (patch) | |
tree | 79f1b99a2d6203f515c457d96dc6be78697d3797 | |
parent | qt: On Windows, use UTF-8 when logging the error text (diff) | |
download | gpgme-1bbe2d4b707843cacf020c252ce883ec45bdbc38.tar.gz gpgme-1bbe2d4b707843cacf020c252ce883ec45bdbc38.zip |
qt: Start dirmngr with gpgconf to avoid multiple instances
* lang/qt/src/qgpgmewkdlookupjob.cpp (startDirmngr): Use "gpgconf
--launch dirmngr" to start dirmngr.
--
Using gpgconf to start dirmngr prevents multiple instances to be started
by the concurrently running keyserver lookup and WKD lookup.
GnuPG-bug-id: 6833
-rw-r--r-- | lang/qt/src/qgpgmewkdlookupjob.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lang/qt/src/qgpgmewkdlookupjob.cpp b/lang/qt/src/qgpgmewkdlookupjob.cpp index 266da0d5..e862f293 100644 --- a/lang/qt/src/qgpgmewkdlookupjob.cpp +++ b/lang/qt/src/qgpgmewkdlookupjob.cpp @@ -64,22 +64,22 @@ static GpgME::Error startDirmngr(Context *assuanCtx) if (err) { qCDebug(QGPGME_LOG) << "Error: Failed to get context for spawn engine (" << err.asString() << ")"; } - - const auto dirmngrProgram = GpgME::dirInfo("dirmngr-name"); + const auto gpgconfProgram = GpgME::dirInfo("gpgconf-name"); const auto homedir = GpgME::dirInfo("homedir"); const char *argv[] = { - dirmngrProgram, + gpgconfProgram, "--homedir", homedir, - "--daemon", + "--launch", + "dirmngr", NULL }; auto ignoreIO = Data{Data::null}; if (!err) { qCDebug(QGPGME_LOG) << "Starting dirmngr ..."; - err = spawnCtx->spawnAsync(dirmngrProgram, argv, - ignoreIO, ignoreIO, ignoreIO, - Context::SpawnDetached); + err = spawnCtx->spawn(gpgconfProgram, argv, + ignoreIO, ignoreIO, ignoreIO, + Context::SpawnDetached); } if (!err) { |