Affects SB-BSD-SOCKETS and SB-SIMPLE-STREAMS.
Fix a typo in NEWS.
(AND VECTOR (NOT SIMPLE-ARRAY)) when appropriate. (lp#309130)
* bug fix: (THE (VALUES ...)) in LOAD-TIME-VALUE caused a compiler-error.
(lp#646796)
- * bug fix: interrupts arriving due to CL:OPEN caused an error.
+ * bug fix: interrupts arriving during CL:OPEN caused an error.
* bug fix: overeager character buffering could cause input to block
spuriously when reading from a pipe (lp#643686)
* bug fix: more efficient timer expiry should avoid starvation on systems
* bug fix: SB-POSIX:FORK now signals an error if an attempt to
fork with multiple Lisp threads running is made on every platform,
not just Darwin. (lp#451111)
+ * bug fix: SB-BSD-SOCKETS and SB-SIMPLE-STREAMS could leave stale finalizers
+ around when core was saved, which could cause undefined behaviour when the
+ core was reified.
changes in sbcl-1.0.43 relative to sbcl-1.0.42:
* incompatible change: FD-STREAMS no longer participate in the serve-event
(setf (slot-value socket 'file-descriptor) fd
(slot-value socket 'protocol) proto-num
(slot-value socket 'type) type)
- (sb-ext:finalize socket (lambda () (sockint::close fd)))))
+ (sb-ext:finalize socket (lambda () (sockint::close fd))
+ :dont-save t)))
\f
:type (socket-type socket)
:protocol (socket-protocol socket)
:descriptor fd)))
- (sb-ext:finalize s (lambda () (sockint::close fd))))
+ (sb-ext:finalize s (lambda () (sockint::close fd))
+ :dont-save t))
(multiple-value-list (bits-of-sockaddr socket sockaddr))))))))
(defgeneric socket-connect (socket &rest address)
(format *terminal-io* "~&;;; ** closed ~S (fd ~D)~%"
namestring fd)
(when original
- (revert-file namestring original))))
+ (revert-file namestring original)))
+ :dont-save t)
stream)))))))
(defmethod device-open ((stream file-simple-stream) options)
(sb-ext:finalize stream
(lambda ()
(sb-posix:munmap buffer size)
- (format *terminal-io* "~&;;; ** unmapped ~S" buffer))))))
+ (format *terminal-io* "~&;;; ** unmapped ~S" buffer))
+ :dont-save t))))
stream)))
(lambda ()
(sb-unix:unix-close fd)
(format *debug-io*
- "~&;;; ** closed socket (fd ~D)~%" fd)))
+ "~&;;; ** closed socket (fd ~D)~%" fd))
+ :dont-save t)
;; this should be done with (setf stream-external-format)
(let ((efmt (getf options :external-format :default)))
(compose-encapsulating-streams stream efmt)
;;; 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".)
-"1.0.43.76"
+"1.0.43.77"