The following table lists the C run-time library functions in the OpenEdge code base made thread safe through interposition:
Table 1. C run-time library functions used in the OpenEdge code
CRT functions
ctime()
gmtime()
localtime()
gethostbyaddr()
gethostbyname()
getprotobyname()
getpwnam()
getpwuid()
getservbyname()
readdir()
strerror()
ttyname()
strtok()
rand()
random()
inet_ntoa()
getlogin()

The thread safe versions of these functions are by default interposed on all platforms except AIX. To ensure interposition on AIX, use the provided csmtcrt.o and the associated csmtlibinit.o file when building the HLC library.

The following table lists the thread safe versions of C run-time library functions in the csmtcrt.o file:
Table 2. Additional C run-time library functions and their thread safe implementations
Thread safe C run-time library function implementations Non-thread safe C run-time library functions
psc_crypt() crypt()
psc_setlocale() setlocale()
localeconv_r() localeconv()
If the C source code has references to crypt(), setlocale(), or localeconv(), change those references to their thread safe implementations.