- ;; (optimize (speed 3) (safety 0) (inhibit-warnings 3))
- ;; in the declarations above. If they're important, they should
- ;; be in a declaration inside the LET expansion, not in the
- ;; macro compile-time code.
- `(let ((timeout-secs ,timeout-secs))
- (with-alien ((tv (struct timeval)))
- (when timeout-secs
- (setf (slot tv 'tv-sec) timeout-secs)
- (setf (slot tv 'tv-usec) ,timeout-usecs))
- (int-syscall ("select" int (* (struct fd-set)) (* (struct fd-set))
- (* (struct fd-set)) (* (struct timeval)))
- ,num-descriptors ,read-fds ,write-fds ,exception-fds
- (if timeout-secs (alien-sap (addr tv)) (int-sap 0))))))
+ ;; (declare (optimize (speed 3) (safety 0) (inhibit-warnings 3)))
+ ;; here. Is that important for SBCL? If so, why? Profiling might tell us..
+ (with-alien ((tv (struct timeval)))
+ (when timeout-secs
+ (setf (slot tv 'tv-sec) timeout-secs)
+ (setf (slot tv 'tv-usec) timeout-usecs))
+ (int-syscall ("select" int (* (struct fd-set)) (* (struct fd-set))
+ (* (struct fd-set)) (* (struct timeval)))
+ num-descriptors read-fds write-fds exception-fds
+ (if timeout-secs (alien-sap (addr tv)) (int-sap 0)))))