Open System Services Porting Guide (G06.29+, H06.06+, J06.03+)

Table 21 Thread Functions With Changes to Return Values Among Other Changes (continued)
Return Values in Standard POSIX ThreadsFunction
ENOMEM Insufficient memory exists to associate the value
with the key.
pthread_sigmask() 0 = successful
EINVAL The value of the how parameter is not equal to
one of the allowed values.
pthread_signal_to_cancel_np() 0 = successful
-1 = error (Check errno for last error, such as EINVAL.)
Nonepthread_testcancel()
Nonepthread_unlock_global_np()
0 = successfulsched_yield()
Table 22 lists the thread functions that have miscellaneous changes in Standard POSIX Threads.
Table 22 Thread Functions With Miscellaneous Changes
Change in Standard POSIX ThreadsFunction
Now detaches the thread.pthread_join()
Type has changed from int to void.pthread_cleanup_pop()
Table 23 lists the thread functions that are unchanged from Draft 4.
Table 23 Thread Functions With No Changes
Unchanged Function
pthread_exit()
pthread_equal()
pthread_self()
pthread_testcancel()
Table 24 lists the thread functions that are not supported in Standard POSIX Threads. Thread and
C library functions that use priority scheduling are not supported because the NonStop operating
system environment is nonpreemptive and is not an SMP environment.
NOTE: For H06.21 and later H-series RVUs and J06.10 and later J-series RVUs, many standard
and reentrant functions were added or changed to support multithreaded programming. If the
function exists in both a standard library and the Standard POSIX Threads library, the standard
library version of the function is used unless the application is compiled specifically to use the
Standard POSIX Thread library by including the spthread.h header file and setting the
_SPT_MODEL_ define. For more information, see the Open System Services Programmer's Guide.
Table 24 Thread Functions Not Supported in the Standard POSIX Threads Library
ReasonFunction
For systems running G-series RVUs, H-series RVUs earler
than H06.21, or J-series RVUs earlier than J06.10, C
library function not supported in OSS environment.
asctime_r()
C library function differs only in usage.ctermid()
For systems running G-series RVUs, H-series RVUs earler
than H06.21, or J-series RVUs earlier than J06.10, C
library function not supported in OSS environment.
getc_unlocked()
212 Standard POSIX Thread Functions: Differences Between the Draft 4 and IEEE 1003.1c 1995 Standards