projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.8.4.29:
[sbcl.git]
/
contrib
/
sb-bsd-sockets
/
name-service.lisp
diff --git
a/contrib/sb-bsd-sockets/name-service.lisp
b/contrib/sb-bsd-sockets/name-service.lisp
index
5f03859
..
bf29529
100644
(file)
--- a/
contrib/sb-bsd-sockets/name-service.lisp
+++ b/
contrib/sb-bsd-sockets/name-service.lisp
@@
-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)))
; 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)))
(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
(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)))))
(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)))))
(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"
(progn
#+sbcl
(sb-alien:define-alien-routine "hstrerror"