Subject: bug#32452: 26.1; gnutls_try_handshake maxes out cpu retrying when server is a bit busy

From: Lars Ingebrigtsen <[email-masked]>
Date: Sat, 26 Feb 2022 16:12:23 +0100

Paul Eggert <[email-masked]> writes:

> Gnulib's nanosleep appears to use select only for old Unixish
> platforms that were relevant in 2000 but aren't practical porting
> targets any more. So I installed into Gnulib the attached patch to
> simplify Gnulib nanosleep by having it fall back on pselect rather
> than select, and to not bother with signal handling. This should cause
> your addition of nanosleep to admin/merge-gnulib to add only the files
> lib/nanosleep.c and m4/nanosleep.m4 (not the other, signal-related
> files you mentioned; they shouldn't be needed with Emacs).

Thanks; that does indeed fix the issues, and ./admin/merge-gnulib now
works fine for me when I add nanosleep to the list of modules.

> I notice that Emacs's GNUstep code calls 'select'. For completeness
> this should be 'pselect' instead, so that Emacs never calls 'select'.

OK; I'll have a look at that...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no