QNX Neutrino 7.0 documentation update June 2017

New entries

cacos(), cacosf(), cacosl()
Compute the complex arc cosine
cacosh(), cacoshf(), cacoshl()
Compute the complex inverse hyperbolic cosine
carg(), cargf(), cargl()
Compute the argument of a complex number
casin(), casinf(), casinl()
Compute the complex arc sine
casinh(), casinhf(), casinhl()
Compute the complex inverse hyperbolic sine
catan(), catanf(), catanl()
Compute the complex arc tangent
catanh(), catanhf(), catanhl()
Compute the complex inverse hyperbolic tangent
ccos(), ccosf(), ccosl()
Compute the complex cosine
ccosh(), ccoshf(), ccoshl()
Compute the complex cosine
cexp(), cexpf(), cexpl()
Compute the complex base-e exponential of a complex number
cimag(), cimagf(), cimagl()
Compute the imaginary part of a complex number
clog(), clogf(), clogl()
Compute the complex natural (base-e) logarithm of a complex number
conj(), conjf(), conjl()
Compute the complex conjugate of a complex number
cpow(), cpowf(), cpowl()
Raise a complex number to the power of another complex number
cproj(), cprojf(), cprojl()
Compute the projection of a complex number on the Riemann sphere
creal(), crealf(), creall()
Compute the real part of a complex number
csin(), csinf(), csinl()
Compute the complex sine
csinh(), csinhf(), csinhl()
Compute the complex hyperbolic sine
csqrt(), csqrtf(), csqrtl()
Compute the square root of a complex number
ctan(), ctanf(), ctanl()
Compute the complex tangent
ctanh(), ctanhf(), ctanhl()
Compute the complex hyperbolic tangent
SignalWaitinfoMask(), SignalWaitinfoMask()
Block a set of signals and then select a pending signal

Changed content

cbrt(), copysign(), isfinite(), isinf(), isnan()
We've updated the example.
kill()
If pid is -1, then—in order to conform to POSIX—this function now sends sig to all processes (excluding those in session 1) for which the process has permission to send that signal.
mq_open()
The traditional (mqueue) implementation of message queues now creates its entries in the pathname space only under /dev/mqueue.
MsgKeyData(), MsgKeyData_r()
If op is _NTO_KEYDATA_CALCULATE, you can pass 0 for key to request that the kernel generate a pseudo-random number to use for the key.
MsgRead(), MsgRead_r(), MsgReadv(), MsgReadv_r(), MsgWrite(), MsgWrite_r(), MsgWritev(), MsgWritev_r()
Note that these functions can give an error of ESRCH if the thread has already been replied to.
resmgr_attach()
There's a new _FTYPE_MQ file type that's reserved for use by an alternate message-queue manager.
resmgr_connect_funcs_t
Note that in order to correctly define RESMGR_HANDLE_T, you need to #include <sys/iofunc.h> before <sys/resmgr.h>.
resmgr_io_funcs_t
Note that in order to correctly define RESMGR_OCB_T, you need to #include <sys/iofunc.h> before <sys/resmgr.h>.
SignalWaitinfo(), sigtimedwait(), sigwait(), sigwaitinfo()
We've explained how to work around a possible race condition between blocking the signal and calling these functions.
thread_pool_create()
Note that in order to correctly define THREAD_POOL_PARAM_T, you need to #include <sys/resmgr.h> before <sys/dispatch.h>.
TimerInfo(), TimerInfo_r()
Note that you can pass NULL for the info argument if the only bit set in flags is _NTO_TIMER_RESET_OVERRUNS.

Errata

ConnectFlags(), ConnectFlags_r()
If the _NTO_COF_INSECURE flag is set on a connection, calls to MsgDeliverEvent() with an event type of SIGEV_MEMORY or SIGEV_THREAD fail with an error of EACCES.
iofunc_mount_fini()
We've corrected the synopsis.
MsgWrite(), MsgWrite_r()
We've corrected the name of EDEADLK.
pathmgr_link()
This function is declared in <sys/pathmgr.h>.
printf()
The %p conversion type doesn't support the alternate conversion form (#).
resmgr_msgreply(), resmgr_msgreplyv()
We've corrected the description of these functions.
SignalKillSigval(), SignalKillSigval_r()
We've corrected the synopsis.
umask()
You can't use this function to change the file-mode creation mask for a process with a different effective user ID, so the PROCMGR_AID_UMASK ability doesn't apply.
wait3(), wait4(), waitpid()
We've corrected the list of flags that you can set.