This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Change memory protection
#include <sys/mman.h> int mprotect( const void * addr, size_t len, int prot );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The mprotect() function changes the access protections on any mappings residing in the range starting at addr, and continuing for len bytes.
If mprotect() fails, the protections on some of the pages in the address range starting at addr and continuing for len bytes may have been changed. |
The memory object wasn't opened for write, and PROT_WRITE was specified for a MAP_SHARED type mapping.
The prot argument specifies PROT_WRITE on a MAP_PRIVATE mapping, and locking the private pages (if required) would need more space than the system can supply to reserve for doing so.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |
mmap(), munmap(), shm_open(), shm_unlink()