Prestart jobs for servers

In the prestart job model there is one primary listening job, generally called the daemon job or listener job, and multiple server jobs that process the client requests. The daemon job listens on the port for connection requests. When a new connection is received, the daemon does some general work, then gives the socket descriptor to a waiting prestart server job.

Prestart jobs can be reused. When the job has completed the work for one client, the environment is reset and the job is made available to handle a request from a different client.

For server jobs that run user code (for example, the remote command server), the job typically is not reused. This is because the user code might have changed something in the job and there is no sure way to reset the environment for a new client. If your server does reuse the job, the Change  Job (QWTCHGJB) API can be used to change the job's attribute back to a known state after the client's request has completed.

Servers that use the prestart job model include the host servers, SMTP server, PPP servers, DDM/DRDA Server, the SQL Server, and others.