patch: minimize calls to close() in spawn by calling poll()

Werner Koch wk at
Sun Nov 18 12:42:38 CET 2018

On Sat, 17 Nov 2018 01:57, dctucker at said:

> When running GPGME within Docker, the maximum number of FDs may be set
> higher than a sane and reasonable values for its specific use-case, causing
> many close calls to be issued, introducing a major slowdown in performance

Have you investigated why get_max_fd does not work for you.  On Linux
that function is is used to detect the highest used file descriptor by
reading /proc/self/fd/.  Or is your application really using that many

Is is guaranteed that poll(3) does not allocate memory or other things
which may take a lock?

Minor nitpicks: The code assumes that poll is available.  It should also
not used TRACE because that may allocate memory and thus can lead to a



Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 227 bytes
Desc: not available
URL: <>

More information about the Gnupg-devel mailing list