What is the impact of QNXs use of shm_open(2) for shared memory regions?
QNX requires the use of the POSIX shm_open(2) and shm_unlink(2) calls for shared memory regions that will later be mapped into memory using mmap(2). QNX’s implementation of the shared memory functions requires that the name given must begin with a slash, and that no other slash may appear in the name. In order to comply with those requirements and allow relative pathnames to find the same environment, Berkeley DB uses only the last component of the home directory path and the name of the shared memory file, separated by a colon, as the name specified to the shared memory functions. For example, if an application specifies a home directory of /home/db/DB_DIR, Berkeley DB will use /DB_DIR:__db.001 as the name for the shared memory area argument to shm_open(2). The impact of this decision is that the last component of all environment home directory pathnames on QNX must be unique with respect to each other. Additionally, Berkeley DB requires that environments use home directories for QNX