'What are the cases in Linux where read() returns 0

In Linux, except for the socket case, read() is a blocking function. But when I fork the process, the parent process returns 0 by read(). I wonder why? Can read not read because the child process has not written for too long and therefore returns 0?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source