24.Check for input or output requests with select().
25.If select() fails, logs error messages, notifies clients, and exits the main loop for shutdown processing.
26.Gets the current time.
27.Checks print status of print jobs.
28.Updates CGI data.
29.Updates notifier messages.
30.Expires subscriptions and removes completed jobs.
31.Updates the browse list.
32.Checks for new incoming connections on listening sockets and accepts them.
33.Checks for new data on client sockets.
34.Processes the client input.
35.Writes data back to the clients.
36.Closes inactive clients.
37.Updates pending
38.Updates the root certificate every time a 5 minute timer has elapsed.
39.Goes back to step 20.
40.Upon exit from the main loop:
41.Logs a status message.
42.Stops the server.
43.Frees all jobs.
44.Frees file descriptor sets.
45.Closes audit file descriptor.
46.Exits.
5.12.4.2ping
ping opens a raw socket and uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or a gateway. An ECHO_REQUEST datagram, or ping, has an IP and ICMP header, followed by a struct timeval, and then an arbitrary number of pad bytes used to fill out the packet. For more information on the ping command, see the ping(8) man page.
5.12.4.3ping6
The ping6 is the IPv6 counterpart to the IPv4 ping command (q.v.). It sends ICMPV6 ECHO_REQUESTs to elicit ECHO_RESPONSEs. Use of ping6 requires the CAP_NET_RAWIO capability. For more information on the ping6 command, see the ping6(8) man page.
5.12.4.4openssl
openssl is a
194