Previous: , Up: Writing C   [Contents][Index]

5.11 Mmap

If you use mmap to read or write files, don’t assume it either works on all files or fails for all files. It may work on some files and fail on others.

The proper way to use mmap is to try it on the specific file for which you want to use it—and if mmap doesn’t work, fall back on doing the job in another way using read and write.

The reason this precaution is needed is that the GNU kernel (the HURD) provides a user-extensible file system, in which there can be many different kinds of “ordinary files”. Many of them support mmap, but some do not. It is important to make programs handle all these kinds of files.