Hi, If I create a named pipe / fifo with 'mkfifo' what will happen when I put stuff into the fifo but I don't get it out of it? I noticed data being send to the pipe is buffered, but what is the size of the buffer and what happens when this buffer is full?
Met vriendelijke groet / Mit freundlichen Grüßen / Kind Regards,
H.J. ten Berge Test & Integration HITT Traffic Oude Apeldoornseweg 41-45 P.O. Box 717 NL-7300 AS, APELDOORN The Netherlands Telephone +31-55-543 26 34 Fax +31-55-543 25 53 E-mail mailto:berge@hitt.nl Internet http://www.hitt-traffic.nl
"Berge, Harry ten"
If I create a named pipe / fifo with 'mkfifo' what will happen when I put stuff into the fifo but I don't get it out of it? I noticed data being send to the pipe is buffered, but what is the size of the buffer and what happens when this buffer is full?
The "producer" will be stopped by the OS and the data will remain in the pipe. If you kill the stopped "producer" then the pipe will be emptied. I suggest you test it by yourself or contact a kernel developer if you need a detailed description since there are several factors which affect the behavior. The buffer size is implementation specific. I think it's 4 KiB on IA32. -- A.M.
The Wednesday 2003-11-26 at 14:48 +0100, Berge, Harry ten wrote:
If I create a named pipe / fifo with 'mkfifo' what will happen when I put stuff into the fifo but I don't get it out of it? I noticed data being send to the pipe is buffered, but what is the size of the buffer and what happens when this buffer is full?
Have a look at this book, included on the distro in pdf format - it is old, but might help: # Linux Programmers Guide The Programmers Guide by Sven Goldt and Sven van der Meer 6.3 Named Pipes (FIFOs - First In First Out) -- Cheers, Carlos Robinson
participants (3)
-
Alexandr Malusek
-
Berge, Harry ten
-
Carlos E. R.