man斜め読みでO_EXCLをファイルが存在しなかったらエラーになる
と勘違いしていて508が??でした。
manちゃんと読んで今はきちんと理解できました。
皆さんありがとう。

ところで
Advanced Programming in the UNIX(R) Environmentって日本語訳版は無いんですか?