Specify listen and poll threads for the client/server connection
When you start the database server, the oninit process starts an internal thread, called a listen thread, for each dbservername that you specify with the DBSERVERNAME and DBSERVERALIASES parameters in the onconfig file.
dbservername | nettype | hostname | service name |
---|---|---|---|
soc_ol1 | onsoctcp | myhost | port1 |
The listen thread opens the port and requests one of the poll threads for the specified interface/protocol combination to monitor the port for client requests. The poll thread runs either in the CPU virtual processor or in the network virtual processor for the connection that is being used. For information about the number of poll threads, see Specify the number of networking virtual processors.
For information about how to specify whether the poll threads for an interface/protocol combination run in CPU or network virtual processors, see Run poll threads on CPU or network virtual processors and to the NETTYPE configuration parameter in the HCL OneDB™ Administrator's Reference.
A poll thread waits for requests from the client and places them in shared memory to be processed by the sqlexec thread. For network connections, the poll thread places the message in a queue in the shared-memory global pool. The poll thread then wakes up the sqlexec thread of the client to process the request. Whenever possible, the sqlexec thread writes directly back to the client without the help of the poll thread. In general, the poll thread reads data from the client, and the sqlexec thread sends data to the client.