Changeset 829


Ignore:
Timestamp:
Jun 6, 2004, 2:12:28 AM (20 years ago)
Author:
Gary Byers
Message:

Don't sleep/poll while monitoring external process; signal completion via semaphore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ccl/level-1/linux-files.lisp

    r824 r829  
    667667                  (declare (dynamic-extent string))
    668668                  (%copy-ptr-to-ivector buf 0 string 0 n)
    669                   (write-sequence string out-stream :end n)))))))
    670         (sleep 1))
    671       (let* ((statusflags (check-pid (external-process-pid p)))
     669                  (write-sequence string out-stream :end n))))))))
     670      (let* ((statusflags (check-pid (external-process-pid p)
     671                                     (logior
     672                                      (if in-fd #$WNOHANG 0)
     673                                      #$WUNTRACED)))
    672674             (oldstatus (external-process-%status p)))
    673675        (cond ((null statusflags)
Note: See TracChangeset for help on using the changeset viewer.