projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.35.6: Fix typo in make-config.sh
[sbcl.git]
/
src
/
code
/
target-thread.lisp
diff --git
a/src/code/target-thread.lisp
b/src/code/target-thread.lisp
index
ad83197
..
e513872
100644
(file)
--- a/
src/code/target-thread.lisp
+++ b/
src/code/target-thread.lisp
@@
-556,7
+556,8
@@
time we reacquire MUTEX and return to the caller."
;; continuing after a deadline or EINTR.
(setf (waitqueue-data queue) me)
(loop
;; continuing after a deadline or EINTR.
(setf (waitqueue-data queue) me)
(loop
- (multiple-value-bind (to-sec to-usec) (decode-timeout nil)
+ (multiple-value-bind (to-sec to-usec)
+ (allow-with-interrupts (decode-timeout nil))
(case (unwind-protect
(with-pinned-objects (queue me)
;; RELEASE-MUTEX is purposefully as close to
(case (unwind-protect
(with-pinned-objects (queue me)
;; RELEASE-MUTEX is purposefully as close to
@@
-574,7
+575,7
@@
time we reacquire MUTEX and return to the caller."
(allow-with-interrupts
(futex-wait (waitqueue-data-address queue)
(get-lisp-obj-address me)
(allow-with-interrupts
(futex-wait (waitqueue-data-address queue)
(get-lisp-obj-address me)
- ;; our way if saying "no
+ ;; our way of saying "no
;; timeout":
(or to-sec -1)
(or to-usec 0))))
;; timeout":
(or to-sec -1)
(or to-usec 0))))
@@
-584,8
+585,10
@@
time we reacquire MUTEX and return to the caller."
;; them before entering the debugger, but this is
;; better than nothing.
(allow-with-interrupts (get-mutex mutex)))
;; them before entering the debugger, but this is
;; better than nothing.
(allow-with-interrupts (get-mutex mutex)))
- ;; ETIMEDOUT
- ((1) (signal-deadline))
+ ;; ETIMEDOUT; we know it was a timeout, yet we cannot
+ ;; signal a deadline unconditionally here because the
+ ;; call to GET-MUTEX may already have signaled it.
+ ((1))
;; EINTR
((2))
;; EWOULDBLOCK, -1 here, is the possible spurious wakeup
;; EINTR
((2))
;; EWOULDBLOCK, -1 here, is the possible spurious wakeup
@@
-877,7
+880,7
@@
around and can be retrieved by JOIN-THREAD."
(setup-sem (make-semaphore :name "Thread setup semaphore"))
(real-function (coerce function 'function))
(initial-function
(setup-sem (make-semaphore :name "Thread setup semaphore"))
(real-function (coerce function 'function))
(initial-function
- (lambda ()
+ (named-lambda initial-thread-function ()
;; In time we'll move some of the binding presently done in C
;; here too.
;;
;; In time we'll move some of the binding presently done in C
;; here too.
;;