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

Reply via email to