QNX Neutrino 6.5.0 Service Pack 1
Changed content
- alloca()
- The documentation now describes how the builtin and non-builtin versions of this function behave.
- chroot()
- This entry now points out that the path argument can include
a network root (e.g., /net/node_name).
- dladdr()
- This function now provides the full path (instead of the base name)
of the object, in order to match the behavior on other OSs.
- dlopen()
- For security reasons, the use of LD_DEBUG_OUTPUT with setuid binaries is disabled.
- fcntl()
- This function indicates an error of ENOSYS if the filesystem doesn't support the operation.
- flock()
- This function indicates an error of ENOSYS if the filesystem doesn't support file locks.
- flockfile(),
ftrylockfile(),
funlockfile()
- We've clarified the relationship between these functions.
- _intr_v86()
- We've expanded the list of possible errors.
- lockf()
- This function indicates an error of ENOSYS if the filesystem doesn't support file locks.
- mmap()
-
- We've clarified the circumstances under which this function
can give an error of ENXIO.
- The calling process must be running as root in order to map physical memory.
- mmap_device_io()
- On non-x86 systems, the calling process must be running as root in order to map device I/O memory.
- mmap_device_memory()
- The calling process must be running as root in order to map device memory.
- mount()
- Note that updating a mount resets the other mount flags to their
default values.
- mount_parse_generic_args()
- We've added implied to the list of options that this function
processes.
- MsgCurrent()
- Calling MsgCurrent() on the rcvid pertaining to a low-priority
client no longer causes a priority boost given to your thread by a
blocked high-priority thread to be lost.
- nanospin_calibrate()
- In order to make startup faster and reduce jitter,
nanospin_calibrate() now tries to read the calibration data from
values stored in the system page.
The startup for some boards includes an -o option that you can
use to specify the calibration data (100 loop time and overhead) to store
in the system page.
- pci_attach_device()
- This entry now describes the PCI_USE_MSI and
PCI_USE_MSIX flags and includes an example that shows how you
can detect whether or not a device supports MSI or MSI-X.
- pci_read_config(),
pci_read_config8(),
pci_read_config16(),
pci_read_config32()
- Note that the pci_read_config*() functions can return inconsistent data
if another process is extensively using the PCI bus.
- posix_spawn(),
posix_spawn_file_actions_addclose(),
posix_spawn_file_actions_adddup2(),
posix_spawn_file_actions_destroy(),
posix_spawn_file_actions_init(),
posix_spawnattr_addpartid(),
posix_spawnattr_addpartition(),
posix_spawnattr_destroy(),
posix_spawnattr_getcred(),
posix_spawnattr_getflags(),
posix_spawnattr_getnode(),
posix_spawnattr_getpartid(),
posix_spawnattr_getpgroup(),
posix_spawnattr_getrunmask(),
posix_spawnattr_getschedparam(),
posix_spawnattr_getschedpolicy(),
posix_spawnattr_getsigdefault(),
posix_spawnattr_getsigignore(),
posix_spawnattr_getsigmask(),
posix_spawnattr_getstackmax(),
posix_spawnattr_getxflags(),
posix_spawnattr_init(),
posix_spawnattr_setcred(),
posix_spawnattr_setflags(),
posix_spawnattr_setnode(),
posix_spawnattr_setpgroup(),
posix_spawnattr_setrunmask(),
posix_spawnattr_setschedparam(),
posix_spawnattr_setschedpolicy(),
posix_spawnattr_setsigdefault(),
posix_spawnattr_setsigignore(),
posix_spawnattr_setsigmask(),
posix_spawnattr_setstackmax(),
posix_spawnattr_setxflags(),
posix_spawnp()
- We've revised and expanded the documentation for these functions.
- pthread_setname_np()
- _NTO_THREAD_NAME_MAX is defined in <sys/neutrino.h>.
- readdir()
- Note that you can use
ftw()
as a different way to walk a file tree.
- resmgr_attach()
- This function indicates an error of EBUSY if
an internal resource isn't available.
- shm_ctl(), shm_ctl_special()
- We've documented the SHMCTL_ISADMA and SHMCTL_NOX64K flags.
- spawn(),
spawnl(),
spawnle(),
spawnlp(),
spawnlpe(),
spawnp(),
spawnv(),
spawnve(),
spawnvp(),
spawnvpe()
- If you use the P_WAIT flag, you need to use a status macro such as
WEXITSTATUS() to extract information from value returned by the
spawn*() functions; see
"Status macros"
in the documentation for wait().
- straddstr()
- We've added more details about how this function handles null characters.
Errata
- ChannelCreate()
- Typically your program calls ChannelCreate() only once, and
all threads block on that channel.
We've corrected a call to MsgReplyv() in one of the examples.
- clock_getcpuclockid(),
clock_gettime(),
ClockId(), ClockId_r(),
ClockTime(), ClockTime_r()
- We've corrected the description of these functions.
- dircntl()
- We've corrected the description of what this function returns.
- dirname()
- If you pass a string of "/usr/" to dirname(),
the string returned is "/", not "usr".
- execl(),
execle(),
execlp(),
execlpe(),
execv(),
execve(),
execvp(),
execvpe()
- We've corrected the spelling of EACCES.
- ftruncate(), ftruncate64()
- These functions can indicate an error of ENOMEM if
there wasn't enough memory to change the size of a shared memory object.
- ftw()
- We've corrected the spelling of EACCES.
- getrlimit()
- RLIMIT_FSIZE and RLIMIT_MEMLOCK aren't supported.
- getsockopt()
- We've corrected the call to
memset()
in the example.
- iofunc_check_access()
- We've corrected the spelling of EACCES.
- iofunc_stat_default()
- This function returns
-1, to indicate to the resource manager library that it should return
one part from the ctp->iov structure (see
resmgr_context_t)
to the client.
- mem_offset(), mem_offset64()
- We've corrected the description of these functions.
You must specify NOFD for the fd argument;
to get the offset and length of a mapped typed memory block, use
posix_mem_offset() or posix_mem_offset64().
- mount_parse_generic_args()
- We've corrected the names of the _MOUNT_NOATIME,
_MOUNT_NOCREAT, and _MOUNT_NOSUID flags.
- mq_open()
- You need to include <fcntl.h> if you want to use
O_CREAT, O_EXCL, or O_NONBLOCK
when you call this function.
- munmap()
- The ability to munmap() just a part of an area mapped with
mmap()
was introduced in QNX Neutrino 6.3.2.
- nftw(),
nftw64()
-
- We've corrected the spelling of EACCES.
- We've corrected the name of the <ftw.h> header file.
- posix_spawn(),
posix_spawn_file_actions_addclose(),
posix_spawn_file_actions_adddup2(),
posix_spawn_file_actions_destroy(),
posix_spawn_file_actions_init(),
posix_spawnattr_addpartid(),
posix_spawnattr_addpartition(),
posix_spawnattr_destroy(),
posix_spawnattr_getcred(),
posix_spawnattr_getflags(),
posix_spawnattr_getnode(),
posix_spawnattr_getpartid(),
posix_spawnattr_getpgroup(),
posix_spawnattr_getrunmask(),
posix_spawnattr_getschedparam(),
posix_spawnattr_getschedpolicy(),
posix_spawnattr_getsigdefault(),
posix_spawnattr_getsigignore(),
posix_spawnattr_getsigmask(),
posix_spawnattr_getstackmax(),
posix_spawnattr_getxflags(),
posix_spawnattr_init(),
posix_spawnattr_setcred(),
posix_spawnattr_setflags(),
posix_spawnattr_setnode(),
posix_spawnattr_setpgroup(),
posix_spawnattr_setrunmask(),
posix_spawnattr_setschedparam(),
posix_spawnattr_setschedpolicy(),
posix_spawnattr_setsigdefault(),
posix_spawnattr_setsigignore(),
posix_spawnattr_setsigmask(),
posix_spawnattr_setstackmax(),
posix_spawnattr_setxflags(),
posix_spawnp()
-
- We've corrected the synopsis for posix_spawn() and
posix_spawnp(), and corrected the list of reasons why these
functions might indicate an error of EINVAL.
- These functions return error codes instead of setting errno.
- These functions are declared in <spawn.h>.
- It isn't safe to call posix_spawn() or posix_spawnp()
from an interrupt handler.
- posix_typed_mem_open()
- You need to include <fcntl.h> in order to get the
definitions of O_RDONLY, etc.
- pthread_getcpuclockid()
- We've corrected the description of this function.
- rename()
- We've corrected the spelling of EACCES.
- SchedGet()
- This routine returns an actual scheduling policy value, not
SCHED_ADJTOHEAD or SCHED_ADJTOTAIL.
- sem_open()
- You need to include <fcntl.h> if you want to use
O_CREAT or O_EXCL when you call this function.
- sem_unlink()
- We've corrected the spelling of EACCES.
- setdomainame()
- It isn't safe to call this function from an interrupt handler.
- setrlimit()
- RLIMIT_FSIZE and RLIMIT_MEMLOCK aren't supported.
- shm_ctl_special()
- Calling shm_ctl_special() with a special
argument of 0 isn't equivalent to calling shm_ctl().
- spawn(),
spawnl(),
spawnle(),
spawnlp(),
spawnlpe(),
spawnp(),
spawnv(),
spawnve(),
spawnvp(),
spawnvpe()
- We've corrected the spelling of EACCES.
- stat()
- S_IFMT is a mask for the file-type bits in
st_mode.
- SyncTypeCreate()
- We've corrected the name of the _sync_attr structure.
- tmpfile()
- We've corrected the spelling of EACCES.
- trace_logf(),
trace_nlogf(),
trace_vnlogf()
- It isn't safe to call these functions from an interrupt handler if the
formatting codes or parameters include floating-point elements.
- wcscpy(),
wcsncpy(),
wcstoul(),
wcstoull(),
wcsxfrm(),
wprintf(),
wscanf()
- We've corrected the synopsis.