Hi All,<br><br>Had a look over the NIO work, running ab2(apache-bench - <a href="http://httpd.apache.org/docs/2.2/programs/ab.html%29" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://httpd.apache.org/docs/2.2/programs/ab.html)
</a>) against it, and it seems to hold up pretty well when compared with
apache/mod_lisp2 and araneida (I'll post some results later on).<br><br>I ran into a memory leak, which the following patch fixed for
me. The patch is against the nio-20060204.tar.gz (doesn't look like the
cvs is up-to-date?) from the <a href="http://common-lisp.net/project/nio/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://common-lisp.net/project/nio/
</a> website.<br><br>I'm no lisp expert, so any feedback appreciated.<br><br>Cheers,<br><br>Paul.<br><br>nio-20060204$ diff async-fd.lisp.orig async-fd.lisp<br>184c184<br><   (with-slots (write-queue read-fd write-fd) async-fd
<br>---<br>>   (with-slots (write-queue read-fd write-fd foreign-read-buffer) async-fd<br>189a190<br>>        (foreign-free foreign-read-buffer)<br>216,220c217,226<br><     ;; remove entries that have been fully written
<br><     (setf write-queue (remove-if #'(lambda (x)<br><                                    (with-slots (size written) x<br><                                      (= size written)))<br><                                write-queue))
<br>---<br>>     ;; remove (and dealloc buffers) of entries that have been fully written<br>>     (let ((unfinished-entries NIL))<br>>       (setf write-queue<br>>           (nreverse<br>>            (dolist (entry write-queue unfinished-entries)
<br>>              (with-slots (size written) entry<br>>                (if (= size written)<br>>                    (with-slots (buffer) entry<br>>                      (foreign-free buffer))<br>>                    (push entry unfinished-entries)))))))
<br>