#1579 closed defect (fixed)
spiffy does not flush output port
Reported by: | Jim Ursetto | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | someday |
Component: | extensions | Version: | 5.0.0 |
Keywords: | spiffy | Cc: | |
Estimated difficulty: | easy |
Description
Port slot 8 (closed?) changed from a bool to a fixnum in Chicken 5, which made the existing port closed test in handle-incoming-request always succeed, so output was never flushed.
This can lead to hangs when output size is less than tcp-buffer-size. This behavior was observed in chickadee when output size < 1024, including on simple responses like 302 redirects.
Fix is to use the official accessor instead, which seems to work fine. I'm not sure if this was a legacy thing, but other procedures in the spiffy code use port-closed?.
Patch is attached.
Attachments (1)
Change History (3)
Changed 6 years ago by
Attachment: | 0001-Use-port-closed-instead-of-sys-slot-fixing-output-ha.patch added |
---|
comment:1 Changed 6 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
Thanks! This is a bizarre one. I have no idea why I was using the low-level accessor instead of
port-closed?
. Presumably it wasn't exposed at the time (this line was added in 2010)?Anyway, should be fixed with Spiffy 6.2