0.8.5.34
[sbcl.git] / contrib / sb-bsd-sockets / name-service.lisp
index 5f03859..bf29529 100644 (file)
@@ -17,6 +17,8 @@ eventually, so that we can do DNS lookups in parallel with other things
                                        ; presently always AF_INET
    (addresses :initarg :addresses :accessor host-ent-addresses)))
 
+(defgeneric host-ent-address (host-ent))
+
 (defmethod host-ent-address ((host-ent host-ent))
   (car (host-ent-addresses host-ent)))
 
@@ -40,7 +42,7 @@ grisly details."
     (loop for i from 0 to 3 
          do (setf (sockint::in-addr-addr packed-addr i) (elt address i)))
     (make-host-ent
-     (sb-sys:without-gcing
+     (sb-sys:with-pinned-objects (packed-addr)
       (sockint::gethostbyaddr (sockint::array-data-address packed-addr)
                              4
                              sockint::af-inet)))))
@@ -128,7 +130,7 @@ GET-NAME-SERVICE-ERRNO")
        (sb-alien:alien-funcall
         (sb-alien:extern-alien "get_h_errno" (function integer)))))
 
-#-solaris
+#-(and cmu solaris)
 (progn
   #+sbcl
   (sb-alien:define-alien-routine "hstrerror"