と書いてある。O_NONBLOCK または O_NDELAY ファ イルは非停止(non-blocking)モードでオープンされ る。 open や他の、そのファイル・ディスクリプター に 対 するすべての操作も呼び出したプロセスを待たせるこ となく返される。 FIFO (ネームド・パイプ)を扱う場 合 には fifo(4) も参照すること。 O_SYNC ファ イルは同期(synchronous) I/O モードでオープンさ れる。そのファイル・ディスクリプターに対する全て の write は、対応するハードウェアに物理的に書き込まれ るまで呼び出したプロセスに戻らない。 以下の「制限」 を見よ。
open時に「O_SYNC」フラグを立ておくと、完全に5MB書き込むまで動作がブロックされるので、printfの"5MB."がなかなか表示されない。for(i=0;i<2;i++){ write(fd,buf,0x500000); printf("5MB.\n"); }