type fd = open_and_lock(PIPENAME);
int size = bufsize;
size = read(fd, buf, size);
close_and_unlock(fd);

排他制御出来なきゃ使い物にならねーだろ。
それから、open/closeのおまじないを1度ずつ呼び出すだけで、
検索による時間ロスが解消できる。

PIPENAMEを取り回す手間と、fdを取り回す手間も全くかわらん。