Hi,
I consider using Cherokee as an embedded webserver for our SOPE
application server to avoid the necessity to install an Apache module
for running SOPE based applications.
In other words, I would like to directly link Cherokee into the
application, sometimes as a shared and sometimes as a static library
(is the latter supported or does Cherokee require that modules are
dynamically loaded?).
Is this a reasonable use of Cherokee, that is, will this kind of use be
"officially supported" in addition to standalone operation?
For now I see two issues (somewhat connected) which I would need to get
resolved:
a) runloop integration
b) threading
a) NSRunLoop integration
We already have a select/poll based runloop (NSRunLoop) which allows
developers to register timers (NSTimers) and watch socket IO. This is
hard to impossible to change (at least on MacOSX), so my idea would be
to never run Cherokee in the main thread but always in a subthread
(which then possibly spawns additional subthreads for HTTP request
handling).
Viable approach?
b) threading
Another issue is that I would like to keep the processing of
application server requests serialized (single threaded, but not
necessarily triggered by the same thread). Probably I would just place
a global lock when Cherokee enters the appserver extension for request
processing.
What I wonder is whether such a lock might harm internal operation of
Cherokee in some way (IO timeout handling, cleanup processes, etc) or
whether there are any other things to be aware of?
Any suggestions are welcome :-)
Thanks a lot,
Helge Hess
http://sope.opengroupware.org/
--
http://docs.opengroupware.org/Members/helge/
OpenGroupware.org
_______________________________________________
Cherokee mailing list
[email protected]
http://www.alobbs.com/cgi-bin/mailman/listinfo/cherokee