Date: Tue, 21 Jul 1998 12:13:50 -0400 From: Tuan Hoang <tqhoang@mitre.org> To: freebsd-questions@FreeBSD.ORG Cc: tqhoang@mitre.org Subject: no data in named pipes (FIFO's) Message-ID: <35B4BE3D.A723D9DB@mitre.org>
next in thread | raw e-mail | index | archive | help
Hi,
I'm having a problem with my named pipes (FIFO's). I have 2 processes
communicating
back and forth via 2 FIFO's. I create them successfully on the command
line using:
mkfifo fifo_to_simcon fifo_from_simcon
I tested them using "cat" and "more" on the command line and they work
as I
expect them to (blocking, etc).
In my program I open the FIFO's in the correct order. The problem is
that when
I write to the file descriptors, the return values are the size of the
data that I wrote
so it was successful but no data ever gets written to the FIFO's. An
example of
how I know this is that one program continuously writes data to the
fifo_from_simcon
and the other one takes its time reading the fifo_from_simcon so the
data queues up.
I know that the programs are logically correct because the same exact
code runs fine
under Slackware Linux 2.0.34 and Solaris x86 2.6. I'm using FreeBSD
2.2.6R
from Walnut Creek.
Here's what the FIFO's permissions look like and a sample of the open()
calls:
(Incidently, both programs reside in the same directory)
prwxr-xr-x 1 tuan users 0 Jul 21 10:36 fifo_from_simcon|
prwxr-xr-x 1 tuan users 0 Jul 21 10:35 fifo_to_simcon|
In program 1:
ReadFifoFd = open("./fifo_from_simcon", O_RDONLY, 0);
WriteFifoFd = open("./fifo_to_simcon", O_WRONLY|O_TRUNC, 0);
In program 2:
WriteFifoFd = open("./fifo_from_simcon", O_WRONLY|O_TRUNC, 0);
ReadFifoFd = open("./fifo_to_simcon", O_RDONLY, 0);
Thanks,
Tuan
--
Tuan Hoang
The MITRE Corporation
Email: tqhoang@mitre.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?35B4BE3D.A723D9DB>
