pipe

Dlaczego muszę zamknąć fds podczas czytania i pisania do rury?

Oto przykład aby zilustrować co mam na myśli: #include <stdio.h> #include <unistd.h> #include <sys/types.h ... sać do rury, podczas gdy drugi musi czytać? Powyższy przykład wydaje się działać tylko dla jednego zapisu i jednego odczytu.