question about FIFO

I use mkfifo() to create FIFO to transfer data between processs,I want to know if sometime one process that read the data can’t read it in time, what happen to the process that write the data,blocked or dead?

The library reference of “write()” have a detail discustion of write into a FIFO.
In short, the write() will either block or fail with EAGAIN, depends on the setting.
there is no reason the writing processwould “die”.

I use O_NONBLOCK to open fifo to write(I create 2 FIFO),but when I simulate that 1 of 2 FIFO can’t be read in time,the process writing continue to run(one write() must fail),but the other process that read fifo can’t get data,why?