This is the mail archive of the
cygwin@cygwin.com
mailing list for the Cygwin project.
Strange fork() behaviour under cygwin v1.3.1
- To: <cygwin at cygwin dot com>
- Subject: Strange fork() behaviour under cygwin v1.3.1
- From: "Andrew de Quincey" <andrew at orbital dot co dot uk>
- Date: Tue, 22 May 2001 00:01:25 +0100
Hi, I've been playing with the jabber server under win32... and I've run
into a slight problem. The following program illustrates it:
+++++++++++++++++++++++++++++++++++++++++++++++++
#include <pth.h>
#include <stdio.h>
void *test(void *arg);
int main(int argc, char* argv[]) {
int pid;
pth_init();
pth_join(pth_spawn(PTH_ATTR_DEFAULT, test, NULL), NULL);
}
void *test(void *arg) {
int pid;
pid = fork();
if (pid < 0) {
printf("FORKFAILED\n");
} else if (pid == 0) {
printf("FORKCHILD\n");
} else {
printf("FORKPARENT\n");
}
}
+++++++++++++++++++++++++++++++++++++++++++++++++
This outputs the following when run:
0 [main] a 1760 sync_with_child: child 1524(0x23C) died before
initialization with status code 0x1
2496 [main] a 1760 sync_with_child: *** child state waiting for longjmp
FORKFAILED
Is this a known problem, not being able to fork() once you are inside a
spawned thread? Or, is this a bug I have run across...?
BTW: I'm using cygwin dll 1.3.1, pth 1.4.0, and win2k SP1
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple