Hi Tomas,

> I do not think Konrad could achieve single process/thread http server
> without a bit of coding in C.  PicoLisp I/O operations block I think

Not necessarily. If we use the select() mechanism provided by '*Run' and
'task', you can make input operations like 'listen', 'accept', 'read',
'rd' etc. non-blocking. In addition, I sometimes use the 'alarm'
function (in combination with 'catch', 'throw' and 'finally') to ensure
that no operation takes too long.

> Maybe the best or most pragmatic way is splitting your web app into a
> static files part that can be served by a specialized web server,

You do not need a specialized web server for that. A ".html" file will
be directly sent to the client, without any forking. And also ".l" files
do not automatically cause the fork, but only if (app) is called during
their execution.

For the (now obsolete) 7fach web portal the whole initial processig
consisted of non-forking pages (static html-files and dynamically
generated contents), and only when the user went to the login page it
happened that (app) was called.

- Alex

Reply via email to