2008/3/21, Anton Vodonosov avodonosov@yandex.ru:
As I noticed, Hunchentoot is not yet ported to ECL, even though the ECL-documentation says that it has Gray-Streams-, Thread- and Socket-Support as far as I read.
Was there simply no interest to port it to ECL so far, or is there any reason why it is not possible or very hard to port it to ECL, or why one should not use ECL?
I suppose there was simply no interest so far. You're welcome to provide patches for ECL.
Not to say there was no interest at all, I'm quite interested in that, but there is not enough free time, as usually...
I am trying to do this at the moment, but I have some problems. I have "ported" trivial-gray-streams, chunga and flexi-streams (and cl+ssl should also work, but I have a problem with the ssl-library at the moment). Any package required by Hunchentoot compiles successfully. Does anybody of you happen to know a Maintainer of these Packages, or where I can submit the changes I have made?
Porting the Socket-Stuff was not hard, since it is compatible with sb-bsd-sockets. Porting the Thread-Stuff was so far not hard except for "with-timeout", and I use bordeaux-threads to implement this macro for the moment (I was too lazy to really implement it correctly - maybe I will do this soon, it shouldnt be too hard to replace it).
I had to replace the form
(loop for key = (read-line *hunchentoot-stream* nil nil) while (and key (string-not-equal key "end")) for value = (read-line *hunchentoot-stream* t) collect (cons (make-keyword key) value) do (maybe-write-to-header-stream key value)))
by some tagbody-go-form, because ECL doesnt support it.
I now have got a Version of Hunchentoot which compiles under ECL and starts listening to a port if told. But it doesnt answer requests for some reason. It doesnt throw errors (though *catch-errors-p*=nil) but it seems not to answer the requests. Maybe there is some Deadlock or endless loop (in my tagbody form for instance), I dont know. I will try to figure it out as soon as I have some free time again. If somebody is interested in this so far, just ask, I will give the patches I have made.
C S S