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
-~----------~----~----~----~------~----~------~--~---

Reply via email to