hello! I've got a program that creates a named pipe, and then spawns a thread which sits in a loop: // error checking snipped. // while (1) { int fifo = open(fifoPath, O_RDONLY); // this blocks fprintf(stderr, "somebody opened the other end!\n"); read(fifo, buf, sizeof(buf)); fprintf(stderr, "got the following data: %s\n", buf); close(fifo); } i then have another instance of the same program do the following: fifo = open(fifoPath, O_WRONLY); write(fifo, buf, strlen(buf); now, the problem is that the first process succeeds suddenly for the open, reads the data, closes the fifo, and IMMEDIATELY SUCCEEDS THE open(2) again, reading in the same data. After that, all is as expected. Note that this doesn't happen ALL the time -- only about 80% of the time. Any idea why this would happen? Thanks! marc. To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message