前面说过Thttpd.c这个文件是整个Thttpd的主要的控制部分下面来将一下Thttpd.c文件中的主要函数以及这些函数的功能。
(1)static void handle_term( int sig )
对于收到SIGTERM信号的处理,释放申请的资源,向syslog输出日志信息,退出程序。
(2)static void handle_chld( int sig )
对于收到SIGCHLD信号的处理,更新当前使用的cgi的数量。忽略进程错误时的错误码为EINTR或EAGAIN的错误。
(3)static void handle_hup( int sig )
对于收到SIGHUP信号的处理,设置got_hup的值为1,当got_hup的值为1的时候将会调用re_open_logfile()函数。
(4)static void handle_usr1( int sig )
对于收到SIGUSR1信号的处理,对于当前的连接数量为0时,释放服务器申请的资源,向syslog输出日志信息,退出程序。
(5)static void handle_usr2( int sig )
对于收到SIGUSR2信号的处理,调用logstats函数
(6)static void handle_alrm( int sig )
对于收到SIGALRM信号的处理,检测看门狗状态标志对于 看门狗标志没有被置位将会调用abort函数,设置下一次闹钟时间。
(7)static void re_open_logfile( void )
对于用户没有配置日志文件参数或者服务器没有初始化将会直接退出