This stupid-simple patch lets you pass a wider variety of address specifications
into socket-listen (Clozure's make-socket seems to require either an int or a
string address).
Well, I think it does, and I don't think it has much performance implications.
But I'm a CL noob, and I won't pretend to know all that much about socket
programming, so I could be totally wrong about this.
Thanks,
James
--- backend/openmcl.lisp~ 2011-01-13 18:57:39.000000000 -0600
+++ backend/openmcl.lisp 2011-01-30 10:11:39.000000000 -0600
@@ -118,6 +118,7 @@
(backlog 5)
(element-type 'character))
(let* ((reuseaddress (if reuse-address-supplied-p reuse-address
reuseaddress))
+ (real-host (host-to-hostname host))
(sock (with-mapped-conditions ()
(apply #'openmcl-socket:make-socket
(append (list :connect :passive
@@ -126,7 +127,7 @@
:backlog backlog
:format (to-format element-type))
(when (ip/= host *wildcard-host*)
- (list :local-host host)))))))
+ (list :local-host real-host)))))))
(make-stream-server-socket sock :element-type element-type)))
(defmethod socket-accept ((usocket stream-server-usocket) &key element-type)