[Fix double header send for audio-file-window clinton@unknownlamer.org**20080209053805] { hunk ./src/web-common.lisp 7 + hunk ./src/web-common.lisp 230 - (handle-raw-request (:content-type (window-component.content-type audio-window)) - (write-sequence (audio-data (audio-file audio-window)) - (ucw::network-stream (context.response *context*))))) + ;; this is not so perfectly nice, but the only real error that could + ;; be triggered is a socket error, and there are now portable ucw + ;; backend errors for that. Therefore I choose to ignore-errors in + ;; case some non-connection-related error occurs (i.e. the + ;; 'abort-backend-request restart will not work) rather than rely on + ;; the iolib backend net.sockets:socket-error type + (ignore-errors + (handler-case + (handle-raw-request + (:content-type (window-component.content-type audio-window)) + (write-sequence (audio-data (audio-file audio-window)) + (ucw::network-stream (context.response *context*)))) + (t () + (invoke-restart 'ucw::abort-backend-request))))) }