Julian Stecklina wrote:
Hello,
araneida-testing does not compile on SBCL 1.0.9 on FreeBSD, because SB-SYS:WITH-ENABLED-INTERRUPTS used in WITH-IGNORED-SIGNALS does not exist. A quick grep through the source tells me that WITH-IGNORED-SIGNALS is not used anywhere, so I propose the attached patch.
It seems that even with this patch araneida is unable to serve static pages, because of a bivalent streams issue. The attached patch fixes that.
Regards, Julian
--- old-araneida-testing/client.lisp 2007-09-02 02:14:42.000000000 +0200 +++ new-araneida-testing/client.lisp 2007-09-02 02:14:42.000000000 +0200 @@ -35,7 +35,7 @@ ;; open client socket to peer-host, peer-port, and stuff (let ((s (make-instance 'inet-socket :type :stream :protocol :tcp))) (socket-connect s peer-host peer-port) - (socket-make-stream s :input t :output t :buffering buffering)))) + (socket-make-stream s :element-type :default :input t :output t :buffering buffering))))
(defmacro with-url-stream ((stream url &rest args
diff -rN -u old-araneida-testing/compat/compat-sbcl.lisp new-araneida-testing/compat/compat-sbcl.lisp --- old-araneida-testing/compat/compat-sbcl.lisp 2007-09-02 02:14:42.000000000 +0200 +++ new-araneida-testing/compat/compat-sbcl.lisp 2007-09-02 02:14:42.000000000 +0200 @@ -40,7 +40,7 @@ (defun listener-accept-stream (listener) (let ((socket (sb-bsd-sockets:socket-accept (http-listener-socket listener)))) - (sb-bsd-sockets:socket-make-stream socket :element-type 'character + (sb-bsd-sockets:socket-make-stream socket :element-type :default :external-format :iso-8859-1 :name "socket" :input t :output t :buffering :full)))