Mail Archives: cygwin/2002/03/22/10:12:36
Christopher Faylor wrote:
> That's not guaranteed fork behavior. If the child never started, that would
> be a bug.
As you can see in my previous post, the programm is really simple :
a loop of printf for the child, a loop of printf for the father.
There's no place for a bug here ...
> There is no guaranteed behavior with respect to which process is
> scheduled after a fork on windows or linux. If you want to serialize things
> use one of the wait calls.
I don't want serialized anything, I don't expect that the child or the father
start at first.
Just I wish that the child share the time (the cpu) with his father.
On solaris the two processes run like that :
(A is some printf from father, B is some printf from child)
ABABABABABABA(end of A)B(end of B)
On cygwin I have this result :
AAAAAAA(end of A)BBBBBBB(end of B)
Please read again (try?) this really simple programm :
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main(void)
{
int probe_pid, i;
printf("before fork\n");
probe_pid = fork();
printf("after fork %d\n", probe_pid);
switch (probe_pid)
{
case 0 :
for (i=0; i<10000; i++)
{
printf("%d> Je suis le fils %d\n", probe_pid, i);
}
break;
case -1 :
printf ("Erreur fork\n");
exit(-1);
break;
default:
for (i=0; i<10000; i++)
{
printf("%d> Je suis le pere %d\n", probe_pid, i);
}
break;
}
return 0;
}
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -