HP DCE/9000 Version 1.7 Application Development Tools for HP-UX 11.0 Release Note

42 HP DCE 1.7 Application Development Tools Release Note
Developing DCE Applications with HP DCE/ 9000
Notes on Programming with HP DCE
sec_login_valid_and_cert_ident()
The sec_login_valid_and_cert_ident() routine uses fcntl() for file
locking, and should not be called by more than one thread at a time. If
you must use sec_login_valid_and_cert_ident() in multiple threads,
use a mutex to insure that only one thread at a time executes the call. No
HP DCE programming interfaces call
sec_login_valid_and_cert_ident() internally.
Applications that need to obtain credentials in multiple threads will
generally only need to call sec_login_validate_identity(), which is not
affected by fcntl().
semop()
The HP DCE Threads semop() will not increment the semncnt or
semzcnt kernel variables. Because the semop() wrapper adds the
IPC_NOWAIT option before performing the semop() system call, the
value of semncnt and semzcnt should not be trusted when using semop()
to perform semaphore operations.
signal()
Use of the signal() system call is not supported by HP DCE Threads, as
it can interfere with signal handlers that are installed by Threads. In
some cases, you can retain signal() calls in legacy code as follows:
Implement a wrapper for signal() that calls sigaction() or
- sigwait().
Use signal() itself to install a handler for a signal, provided the
signal is not SIGVTALRM, SIGCHLD, or SIGSYS, and provided no
thread installs a handler for the signal with sigaction() or waits for
the signal with sigwait().
system()
The HP DCE Threads system() wrapper does not block SIGCHLD. It
does set the handler for SIGQUIT and SIGINT to SIG_IGN, but only for
the calling thread. This behavior differs from the behavior of the
standard HP-UX version of system().