From 9ae34bc57917880d3fe6c2a1b5e322698b81ce96 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Mon, 22 Aug 2011 17:46:20 +0300 Subject: [PATCH] oops, fix recent NANOSLEEP change If the sleep gets interrupted multiple times on Darwin: update SECS and NSECS each round. --- src/code/unix.lisp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/code/unix.lisp b/src/code/unix.lisp index 57f531c..412ecdc 100644 --- a/src/code/unix.lisp +++ b/src/code/unix.lisp @@ -976,6 +976,9 @@ corresponds to NAME, or NIL if there is none." (rem-nsec (slot rem 'tv-nsec))) (when (or (> secs rem-sec) (and (= secs rem-sec) (>= nsecs rem-nsec))) + ;; Update for next round. + (setf sec rem-sec + nsec rem-nsec) t))) do (setf (slot req 'tv-sec) (slot rem 'tv-sec) (slot req 'tv-nsec) (slot rem 'tv-nsec))))) -- 1.7.10.4