Strange fork() behaviour under cygwin v1.3.1

Andrew de Quincey andrew@orbital.co.uk
Mon May 21 16:14:00 GMT 2001


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


More information about the Cygwin mailing list

AltStyle によって変換されたページ (->オリジナル) /