ID Number: Q47932
5.10 6.00 6.00a
OS/2
Summary:
The C version 5.1 statically linked, multithread library LLIBCMT.LIB
and the dynamically linked, multithread CRTLIB.DLL support only a
single process's threads numbered 1 to 32 inclusive (with C version
6.0 the 32-thread limit has been removed; the number of threads
possible is determined by the operating system limit). This limits an
application that uses C run-time functions to creating 31 threads with
the _beginthread() function, in addition to the process's initial
thread 1.
More Information:
If you call C run-time library (or DLL) functions from thread 33 or
higher, no error message will be issued, but you will get undefined
results including incorrect data and segment violations. Note that
creating threads that call C run-time library functions should be done
with the _beginthread() function to perform required C-library
initializations that are not performed by DosCreateThread().
Because the 32-thread maximum number is a per process limit, calling
another DLL does not increase the number of supported threads since
the instance of the DLL called by the process is effectively part of
the process. Spawning or exec'ing a child process allows the new
process a new set of threads 1-32.
A substantially greater number of threads will be considered for
inclusion in a future release.
Additional reference words: 5.10 6.00 6.00a