diff options
| author | Jim Ursetto <jim@3e8.org> | 2019-01-17 12:16:11 -0600 | 
|---|---|---|
| committer | Peter Bex <peter@more-magic.net> | 2019-01-17 22:20:45 +0100 | 
| commit | 63d72f99d4b2f1acee3474539dd414d153326910 (patch) | |
| tree | 7a93f72ac3f6aea3b8d470c70dae4a8cc1e6379a | |
| parent | 00bc862c5915ace3cd63a6f759fe297b85a8a1ea (diff) | |
| download | spiffy-63d72f99d4b2f1acee3474539dd414d153326910.tar.gz | |
Use port-closed? instead of ##sys#slot, fixing output hangs
Port slot 8 (closed?) changed from a bool to a fixnum
in Chicken 5, which made the existing port closed test always succeed,
so output was never flushed. This can lead to hangs when output size
is less than tcp-buffer-size. Use the official accessor instead.
Signed-off-by: Peter Bex <peter@more-magic.net>
| -rw-r--r-- | spiffy.scm | 2 | 
1 files changed, 1 insertions, 1 deletions
| @@ -531,7 +531,7 @@                       (send-status 'bad-request                                    (conc "<p>Your client sent a request that "                                          "the server did not understand</p>"))) -                 (unless (##sys#slot out 8) ;; port-closed? +                 (unless (port-closed? out)                     (flush-output out))                   (handle-another-request?)))))))) ; Keep going? | 
