- (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 (sb-grovel::array-data-address buf) ,size))
+ (socket-error "getsockopt")
+ (,mangle-return buf ,size)))))