4. Main Server

The Main Server Process initializes all components on startup using configuation from XML Configuration file.

4.1. Program Logic

4.1.1. Initialization

  • Setup Shared Memory Segments

  • Disable Signals / Setup Termination Handling

  • Setup Server Listening Socket / Poll for Server Socket Filedescriptor

  • Load / Init StaticFS recursive Filesystem Snapshot for each Virtual Host

  • Init AS Handler Process (Fork all Application Server Processes)

  • Init Result Processor (Fork Result Processor Process)

  • Setup Connection Handler Instance

  • Drop System Privileges

  • Enter Server Loop

Workflow diagram see: 15. Graphical Workflows Section 1.3.1.

4.1.2. Main Loop

- While Static::RunServer is True
  - Check for Socket Accept Client (New Connection)
    - Add Client FD to Connection Handler
  - Process Clients with waiting data (Connection Handler Method)

Workflow diagram see: 15. Graphical Workflows Section 1.3.2.