Definitions

There are no standards for implementing multithreading. In particular, neither the C99 Standard nor the POSIX Standard makes reference to threads. For the EWL library, we define thread-safety as:

An EWL Library function will be said to be "thread-safe" if two or more simultaneously executing threads in a single process can all call the function without danger of mutual interference.

For most functions in the library, the meaning of thread safety is clear. Some functions, such as rand() or strtok() are allowed to maintain internal state variables and would appear, by definition, to be not thread-safe.

The following EWL library functions have special precautions to make them thread-safe. The remaining EWL functions are intrinsically thread-safe.