* guix/avahi.scm (avahi-publish-service-thread): Fixes crash when timeout is
#f, which is the default for "guix publish --advertise"
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/avahi.scm (avahi-publish-service-thread): Have #:timeout default
to #f when 'stop-loop?' is NEVER, or 500ms.
(avahi-browse-service-thread): #:timeout defaults to 500ms when
'stop-loop?' is provided.
This avoids attempts to connect to hosts that went off-line. This is
particularly important for 'guix-daemon --discover', which would so far
keep attempting to talk to LAN hosts after they vanished just because
their mDNS record hasn't expired, leading to significant delays when
fetching narinfos and substitutes.
* guix/avahi.scm (avahi-browse-service-thread)[service-resolver-callback]:
Add handler to RESOLVER-EVENT/FAILURE.
Fixes <https://issues.guix.gnu.org/45314>.
* guix/avahi.scm (avahi-browse-service-thread): Change timeout default value
to false when no "stop-loop?" procedure is passed. Adapt "iterate-simple-poll"
call accordingly.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>