Ignore:
Timestamp:
01/19/07 00:09:15 (18 years ago)
Author:
psmith
Message:

Reduced wait time and ignored EINTR on epoll_wait return

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified branches/home/psmith/restructure/src/event/epoll.lisp

    r35 r43  
    7777    (with-foreign-object (events 'epoll-event +epoll-size+)
    7878      (memzero events (* +epoll-event-size+ +epoll-size+))
    79       (loop for res = (%epoll-wait event-queue events +epoll-size+ 1000)
     79      (loop for res = (%epoll-wait event-queue events +epoll-size+ 100)
    8080           
    8181           do
     
    8383#+nio-debug          (format t "poll-events - dealing with ~A~%" res)
    8484             (case res
    85                (-1 (error 'poll-error))
     85               (-1
     86                (let ((errno (get-errno)))
     87                  (format t "-1 returned from epoll-wait, errno ~A~%" errno)
     88                  (if (eql errno 4) ;EINTR - interrupted by a system call
     89                      (return nil)
     90                      (error 'poll-error))))
    8691               (return nil)
    8792               (t
Note: See TracChangeset for help on using the changeset viewer.