26 Nov
2003
26 Nov
'03
20:02
"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.