自作HTTPサーバーが動いた。

自作のHTTPサーバーをブラウザから呼び出せるところまでできた。

まだ、GETメソッドのみです。こっから機能を増やしていこう。

デーモン化

PostgreSQLのコードを参考にしました。

static void
pmdaemonize(void)
{
        int                     i;
        pid_t           pid;

        pid = fork_process();  /* まずforkして */
        if (pid == (pid_t) -1)
        {
               ....
        }
        else if (pid)
        {
                _exit(0); /* 親は何もせず終了 */ 
        }
      
        ....

        if (setsid() < 0) /* ttyの制御を離れる */
        {
                ....
        }

        /* 標準入力、標準出力、標準エラー出力を/dev/nullへリダイレクト */
        i = open(NULL_DEV, O_RDWR, 0);
        dup2(i, 0);
        dup2(i, 1);
        dup2(i, 2);
        close(i);
}

forkしてからsetsidするのはsetsidのmanに書いてあるけれど、確実にsetsidを成功させる為。
下のサイトがとてもわかりやすいです。
http://pinka99.ddo.jp/nanao/work/daemon.html