From fc99afcd6a15803782ba42020a2e52ed89e3df7e Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 22 Jan 2026 13:08:36 -0500 Subject: [PATCH] Fix intermittent universe-restart.rkt DrDr failure Handle network errors in broadcast when universe drops a world. Example: https://drdr.racket-lang.org/71877/racket/share/pkgs/htdp-test/2htdp/tests/universe-restart.rkt --- htdp-lib/2htdp/private/world.rkt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdp-lib/2htdp/private/world.rkt b/htdp-lib/2htdp/private/world.rkt index 28222173..b693a52a 100644 --- a/htdp-lib/2htdp/private/world.rkt +++ b/htdp-lib/2htdp/private/world.rkt @@ -132,9 +132,10 @@ (thread (RECEIVE in)))))) (define/private (broadcast msg) - (when *out* + (when *out* (check-result 'send sexp? "Sexp expected; given ~e\n" msg) - (tcp-send *out* msg))) + (with-handlers ([exn:fail:network? (lambda (e) (set! *out* #f))]) + (tcp-send *out* msg)))) ;; ----------------------------------------------------------------------- (field