0.8.3.24
authorDaniel Barlow <dan@telent.net>
Tue, 2 Sep 2003 02:39:02 +0000 (02:39 +0000)
committerDaniel Barlow <dan@telent.net>
Tue, 2 Sep 2003 02:39:02 +0000 (02:39 +0000)
Duh.  A working version of socket-accept would be an improvement

contrib/sb-bsd-sockets/sockets.lisp
contrib/sb-bsd-sockets/sockopt.lisp
version.lisp-expr

index 3134e7d..d62a57d 100644 (file)
@@ -77,9 +77,9 @@ values"))
   
 (defmethod socket-accept ((socket socket))
   (let ((sockaddr (make-sockaddr-for socket)))
-    (sb-ext::with-pointers-preserved (sockaddr)
+    (sb-sys:with-pinned-objects (sockaddr)
       (let ((fd (sockint::accept (socket-file-descriptor socket)
-                                (sockint::array-data-address sickint)
+                                (sockint::array-data-address sockaddr)
                                 (size-of-sockaddr socket))))
        (apply #'values
               (if (= fd -1)
index 2b89066..455779d 100644 (file)
@@ -57,14 +57,14 @@ Code for options that not every system has should be conditionalised:
     `(progn
       (export ',lisp-name)
       (defun ,lisp-name (socket &aux (fd (socket-file-descriptor socket)))
-       (sb-sys:without-gcing
-        (let ((buf (make-array sockint::size-of-int
-                               :element-type '(unsigned-byte 8)
-                               :initial-element 0)))
-          (if (= -1 (sockint::getsockopt
-                     fd ,find-level ,number (sockint::array-data-address buf) ,size))
-              (socket-error "getsockopt")
-              (,mangle-return buf ,size)))))
+       (let ((buf (make-array sockint::size-of-int
+                              :element-type '(unsigned-byte 8)
+                              :initial-element 0)))
+         (sb-sys:with-pinned-objects (buf)
+           (if (= -1 (sockint::getsockopt
+                      fd ,find-level ,number (sockint::array-data-address buf) ,size))
+               (socket-error "getsockopt")
+               (,mangle-return buf ,size)))))
       (defun (setf ,lisp-name) (new-val socket
                                &aux (fd (socket-file-descriptor socket)))
        (if (= -1
index 71c4f02..cf9174f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.3.23"
+"0.8.3.24"