On Jun 24, 2009, at 8:37 AM, Ludolf Holzheid wrote:
On Wed, 2009-06-24 07:57:30 -0400, Terry Riegel wrote:
However, on modern operating systems, fork()ing is not as expensive as it looks like. In most cases, the text segment is shared between the two processes and the pages on data/BSS segments are not copied until changed ('copy-on-write'). I don't know if the usage of OS resources is larger for the multi-threaded or the multi-tasked approach.
Perhaps I am confused, but are you saying that when firing up stunnel twice with two separate configuration files they are sharing resources?
If you are starting several instances of stunnel, I don't expect them to share resources (other than the text segments of the shared objects).
If, in contrast, a running stunnel process fork()s into two (or, as in your case, 6 processes), these new processes will share resources.
What I wanted to say is, you can't add the resource usage of the single processes in a process tree to get the overall resource usage. A daemon fork()ing into two or more single processes seems much more expensive (w.r.t. resource usage) than it looks like.
Thanks for the clarification. Thats what I thought. So it sounds like to use stunnel for my needs I would have to start and stop the process for every cgi connection. It seems like it would be beneficial to have it dynamically add/remove hosts during runtime.
Thanks for the information. I appreciate your answers.