From cc7a49b8715e19cee393a176ef9fe52e252d2593 Mon Sep 17 00:00:00 2001 From: Stelian Ionescu Date: Thu, 18 Jan 2007 15:45:54 +0100 Subject: [PATCH] Small fix. --- io-multiplex/select.lisp | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/io-multiplex/select.lisp b/io-multiplex/select.lisp index f928ca0..e1beb23 100644 --- a/io-multiplex/select.lisp +++ b/io-multiplex/select.lisp @@ -86,28 +86,23 @@ (return-from serve-fd-events 0)) (with-accessors ((fd-entries fd-entries)) mux - (tagbody - :start - (handler-case - (with-foreign-object (to 'et:timeval) - (when timeout - (progn - (et:memset to 0 #.(foreign-type-size 'et:timeval)) - (setf (foreign-slot-value to 'et:timeval 'et:tv-sec) - (timeout-sec timeout)) - (setf (foreign-slot-value to 'et:timeval 'et:tv-usec) - (timeout-usec timeout)))) - (et:select (1+ max-fd) - read-fds - write-fds - except-fds - (if timeout to (null-pointer)))) - (et:unix-error-intr (err) - (declare (ignore err)) - (go :start)) - (et:unix-error-badf (err) - (declare (ignore err)) - (handle-select-fd-errors mux)))) + (handler-case + (with-foreign-object (to 'et:timeval) + (when timeout + (progn + (et:memset to 0 #.(foreign-type-size 'et:timeval)) + (setf (foreign-slot-value to 'et:timeval 'et:tv-sec) + (timeout-sec timeout)) + (setf (foreign-slot-value to 'et:timeval 'et:tv-usec) + (timeout-usec timeout)))) + (et:select (1+ max-fd) + read-fds + write-fds + except-fds + (if timeout to (null-pointer)))) + (et:unix-error-badf (err) + (declare (ignore err)) + (handle-select-fd-errors mux))) (with-hash-table-iterator (next-item fd-entries) (multiple-value-bind (item-p fd fd-entry) (next-item) -- 2.11.4.GIT