well.
* improvement: improved address space layout on OpenBSD (thanks to Josh
Elsasser)
+ * bug fix: SLEEP supports times over 100 million seconds on long on OpenBSD
+ as well. (reported by Josh Elsasser)
* bug fix: DELETE-FILE on streams no longer closes the stream with :ABORT T,
leading to possible attempts to delete the same file twice. See docstring
on DELETE-FILE for details. (reported by John Fremlin)
(multiple-value-bind (sec frac)
(truncate seconds)
(values sec (truncate frac 1e-9))))
- ;; nanosleep accepts time_t as the first argument,
- ;; so truncating is needed. 68 years on 32-bit platform should be enough
- (sb!unix:nanosleep (min sec (1- (ash 1 (1- sb!vm:n-word-bits)))) nsec))
+ ;; nanosleep() accepts time_t as the first argument, but on some platforms
+ ;; it is restricted to 100 million seconds. Maybe someone can actually
+ ;; have a reason to sleep for over 3 years?
+ (loop while (> sec (expt 10 8))
+ do (decf sec (expt 10 8))
+ (sb!unix:nanosleep (expt 10 8) 0))
+ (sb!unix:nanosleep sec nsec))
#!+win32
(sb!win32:millisleep (truncate (* seconds 1000)))
nil)
;;; 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.30.23"
+"1.0.30.24"