Especially on Windows we seem to have a problem if multiple processes race to start gpg-agent (e.g. T7434: Kleopatra: Initial keylisting hangs for ~60 seconds (gpg-agent: Socket ...S.gpg-agent cannot be bound)).
In particular, during the initial keylisting gpg and gpgsm race to start gpg-agent if it isn't running already. This race can be avoided if we serialize the listing of OpenPGP and S/MIME certificates. The downside is that this will make the initial keylisting (actually all keylistings, but only the first one is really noticeable by the users) a bit slower.