Hi all, loop_read/loop_write: http://cgit.freedesktop.org/systemd/systemd/tree/src/shared/util.c#n2179
In a scenario of pipes, loop_read on read side, if the write side is closed, loop_read will return 0 if do_poll is false(let's assume no data available to read). When do_poll is true, it will return: 1) 0, if write side is closed while loop_read is just doing a read 2) or -EIO when poll returns pollfd.revent with POLLHUP flag set The behavior is not very consistent. IMHO, it's preferred loop_read follows read behavior as much as possible -- returns 0 to indicate end of a file here, e.g. We can try to read 0 bytes when pollfd.revents != POLLIN. The same with loop_write. -- Regards, - cee1 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel