From 675ac28d37189484753eff789b2c7e2540c5291b Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Thu, 9 Feb 2017 14:44:05 -0600 Subject: [PATCH] websocket: Preventing some eof-object related errors. * 8sync/systems/websocket/server.scm (websocket-client-loop): Prevent some errors where eof-objects appear as the frame by the time we hit the cond. --- 8sync/systems/websocket/server.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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. -- 2.31.1