The mq_open(3) man page seems to have standard boilerplate for O_CLOEXEC: O_CLOEXEC (since Linux 2.6.26) Set the close-on-exec flag for the message queue descriptor. See open(2) for a discussion of why this flag is useful. This implies that message queues remain open across an exec when this flag is not specified. However, this is contradicted by mq_overview(7) which states: The close-on-exec flag (see open(2)) is automatically set on the file descriptor returned by mq_open(2). I suggest that the O_CLOEXEC be removed from mq_open(3) or be replaced by something like: "O_CLOEXEC: this flag has no effect since the close-on-exec flag is automatically set on the file descriptor returned by mq_open(2)". Thanks -zerksis ======