From 1d9e945527eac6abfd4c0dff9fe630229d553b13 Mon Sep 17 00:00:00 2001 From: Peter Taoussanis Date: Tue, 20 Sep 2022 15:17:29 +0200 Subject: [PATCH] [mod] [Undertow adapter] `close!` now returns `true` iff actually closed --- src/taoensso/sente/server_adapters/undertow.clj | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/taoensso/sente/server_adapters/undertow.clj b/src/taoensso/sente/server_adapters/undertow.clj index f0812b0..8ca7703 100644 --- a/src/taoensso/sente/server_adapters/undertow.clj +++ b/src/taoensso/sente/server_adapters/undertow.clj @@ -45,9 +45,10 @@ (sch-send! [sch websocket? msg] (async/put! resp-ch msg (fn [_] (i/sch-close! sch)))) (sch-open? [sch] @open?_) (sch-close! [sch] - (when on-close (on-close sch false nil)) - (reset! open?_ false) - (async/close! resp-ch)) + (when (compare-and-set! open?_ true false) + (when on-close (on-close sch false nil)) + (async/close! resp-ch) + true)) ISenteUndertowAjaxChannel (ajax-read! [sch] (async/