X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=8sync%2Fsystems%2Fwebsocket%2Fserver.scm;fp=8sync%2Fsystems%2Fwebsocket%2Fserver.scm;h=6283255ede52bcc5bfc48277e134878a538665fc;hp=0865d675d41b6421ab92fe56b31b09ec4411cf83;hb=675ac28d37189484753eff789b2c7e2540c5291b;hpb=17e72389d61d35970bf0de07121b7aa26e11221a diff --git a/8sync/systems/websocket/server.scm b/8sync/systems/websocket/server.scm index 0865d67..6283255 100644 --- a/8sync/systems/websocket/server.scm +++ b/8sync/systems/websocket/server.scm @@ -134,7 +134,9 @@ called for each complete message that is received." (let ((frame (read-frame-maybe))) (cond ;; EOF - port is closed. - ((not frame) + ;; @@: Sometimes the eof object appears here as opposed to + ;; at lookahead, but I'm not sure why + ((or (not frame) (eof-object? frame)) (close-down)) ;; Per section 5.4, control frames may appear interspersed ;; along with a fragmented message.