On Sat, Dec 20, 2008 at 12:55 PM, Nimrod A. Abing <[email protected]> wrote: > On Sat, Dec 20, 2008 at 5:08 AM, Graham Dumpleton > <[email protected]> wrote: >> >> 2008/12/20 Frédéric Sidler <[email protected]>: >>> @Graham >>> When you say that this is not available in Apache 1.3 nor Windows, is >>> there a relation between mod_wsgi 1.x/apache 1.x and mod_wsgi >>> 2.x/apache 2.x. I think so, but I wanted to be sure. >> >> No. Even mod_wsgi 3.0 will still work on Apache 1.3. It is only the >> daemon mode features which will not work on Apache 1.3. This is >> because Apache 1.3 didn't have various internal APIs used to implement >> daemon mode. >> >> Do not support daemon mode on Windows as it doesn't have a 'fork()' >> function. I also don't use Windows so not about to try and find >> another way of doing it. > > I think you meant to say Win32 version of APR does not have > apr_proc_fork()? Even the APR docs admit it as the only non-portable > call in APR. Don't know if this is defined on Cygwin though since it > is able to emulate fork() (read: slowly). > > Win32 sort of has a fork() equivalent. Been a long while since I last > programmed for Win32 but IIRC you would create a new process using > either CreateProcess(), CreateProcessAsUser(), > CreateProcessWithLogonW(), or CreateProcessTokenW(). However process > creation is only half of the fork() call because on Win32 and there is > a problem because each process will run as a separate "object" in its > own address space. Whereas a fork()ed process *should* be a duplicate > of the parent process. It really depends on how you use fork()ed > processes and it is possible to emulate *some* fork() functionality > using Win32 syscalls only.
D'oh! Just wanted to add and emphasize that CreateProcess() on Win32 will create a new process that has its own address space which you might think is no different from fork(). The difference is that with fork() the child process *continues* to execute the next statement/instruction *after* the fork() call. Whereas CreateProcess() will *create* a new process from scratch, sort of like fork() then exec(). -- Best Regards, Nimrod A. Abing W http://arsenic.ph/ W http://preownedcar.com/ W http://preownedbike.com/ W http://abing.gotdns.com/ --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "modwsgi" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/modwsgi?hl=en -~----------~----~----~----~------~----~------~--~---
