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

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


On Sat, 17 Nov 2018 01:57, dctucker at github.com 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
fds?

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
deadlock.


Shalom-Salam,

   Werner

-- 
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: <https://lists.gnupg.org/pipermail/gnupg-devel/attachments/20181118/5d1d9f55/attachment.sig>


More information about the Gnupg-devel mailing list