C言語でのパイプ処理

http://www.coins.tsukuba.ac.jp/~yas/coins/syspro-2004/2004-04-19/
よくまとまっているので勉強になります。
キモはブロックしないように読み側で書きをclose()、書き側では読みをclose()するところでしょうか。ってかこの理解で合っているのかな・・・。
dup()がわからんので時間をかけてまた読もう。