Changeset 13979
- Timestamp:
- Jul 17, 2010, 8:27:18 PM (14 years ago)
- File:
-
- 1 edited
-
trunk/source/level-1/linux-files.lisp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/level-1/linux-files.lisp
r13972 r13979 181 181 182 182 (defun wait-for-signal (s duration) 183 (or (%timed-wait-for-signal s 0 0) 183 (or (multiple-value-bind (result err) 184 (%timed-wait-for-signal s 0 0) 185 (or result 186 (if (or (eql err #$EINTR) 187 (eql err #-windows-target #$ETIMEDOUT #+windows-target #$WAIT_TIMEOUT)) 188 nil 189 (error "Error waiting for signal ~d: ~a." s (%strerror err))))) 184 190 (with-process-whostate ("signal wait") 185 191 (let* ((now (get-internal-real-time)) … … 192 198 (when success 193 199 (return t)) 194 (if (or (eql err # $ETIMEDOUT)200 (if (or (eql err #-windows-target #$ETIMEDOUT #+windows-target #$WAIT_TIMEOUT) 195 201 (>= (setq now (get-internal-real-time)) stop)) 196 202 (return nil) 197 203 (unless (eql err #$EINTR) 198 204 (error "Error waiting for signal ~d: ~a." s (%strerror err)))) 199 (when (or (not (eql err #$EINTR))200 (>= (setq now (get-internal-real-time)) stop))201 (return nil))202 205 (unless (zerop duration) 203 206 (let* ((diff (- stop now)))
Note:
See TracChangeset
for help on using the changeset viewer.
