Create thread-safe ESQL/C applications

provides shared and static thread-safe and shared and static default versions of the HCL OneDB™ general libraries on both UNIX™ and Windows™ operating systems. On Windows operating systems, provides a dll named isqlt09a.dll and a static thread-safe library named isqlt09s.lib.

A thread-safe application can have one active connection per thread and many threads per application. The thread-safe libraries contain thread-safe (or reentrant) functions. A thread-safe function is one that behaves correctly when several threads call it simultaneously.

For the on a UNIX operating system, the thread-safe HCL OneDB general libraries use functions from the Distributed Computing Environment (DCE) thread package. The DCE thread library, which the Open Software Foundation (OSF) developed, creates a standard interface for thread-safe applications.

If the DCE thread library is not available on your operating system, ESQL/C can use POSIX thread libraries or Sun Solaris thread libraries.

If your operating system supports the DCE, POSIX, or Solaris thread packages, you must install them on the same client computer as ESQL/C.

In Windows environments, the HCL OneDB general libraries use the Windows API to ensure that they are thread safe.

With the thread-safe HCL OneDB general libraries, you can develop thread-safe applications. A thread-safe application can have many threads of control. It separates a process into multiple execution threads, each of which runs independently. While a non-threaded application can establish many connections to one or more databases, it can have only one active connection at a time. An active connection is one that is ready to process SQL requests. A thread-safe application can have one active connection per thread and many threads per application.

When you specify the -thread command-line option, the esql command passes this option to the preprocessor, esqlc. With the -thread option, the preprocessor generates thread-safe code that different threads can execute concurrently.