- (let ((pid (current-thread-id)))
- (get-spinlock queue 2 pid)
- (let ((h (car (waitqueue-data queue))))
- (setf (waitqueue-lock queue) 0)
- (when h
- (sb!unix:unix-kill h :sigcont)))))
+ (let ((pid (current-thread-id))
+ h)
+ (sb!sys:without-interrupts
+ (get-spinlock queue 2 pid)
+ (setf h (car (waitqueue-data queue)))
+ (setf (waitqueue-lock queue) 0))
+ (when h
+ (sb!unix:unix-kill h :sigcont))))