1 --- ./src/server.c (working copy)
2 +++ lighttpd-1.4.19/src/server.c 2008-09-19 17:43:33.695522751 +0300
8 - /* network is up, let's deamonize ourself */
9 - if (srv->srvconf.dont_daemonize == 0) daemonize();
15 - /* write pid file */
17 - buffer_copy_long(srv->tmp_buf, getpid());
18 - buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("\n"));
19 - write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
24 - /* Close stderr ASAP in the child process to make sure that nothing
25 - * is being written to that fd which may not be valid anymore. */
26 - if (-1 == log_error_open(srv)) {
27 - log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
35 if (HANDLER_GO_ON != plugins_call_set_defaults(srv)) {
36 log_error_write(srv, __FILE__, __LINE__, "s", "Configuration of plugins failed. Going down.");
42 + if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
43 + log_error_write(srv, __FILE__, __LINE__,
44 + "s", "fdevent_init failed");
48 + * kqueue() is called here, select resets its internals,
49 + * all server sockets get their handlers
52 + if (0 != network_register_fdevents(srv)) {
60 + /* might fail if user is using fam (not gamin) and famd isn't running */
61 + if (NULL == (srv->stat_cache = stat_cache_init())) {
62 + log_error_write(srv, __FILE__, __LINE__, "s",
63 + "stat-cache could not be setup, dieing.");
69 + if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
70 + if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
71 + log_error_write(srv, __FILE__, __LINE__, "s",
72 + "could not open a fam connection, dieing.");
75 +#ifdef HAVE_FAMNOEXISTS
76 + FAMNoExists(srv->stat_cache->fam);
79 + srv->stat_cache->fam_fcce_ndx = -1;
80 + fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
81 + fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
86 + /* get the current number of FDs */
87 + srv->cur_fds = open("/dev/null", O_RDONLY);
88 + close(srv->cur_fds);
90 + for (i = 0; i < srv->srv_sockets.used; i++) {
91 + server_socket *srv_socket = srv->srv_sockets.ptr[i];
92 + if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
93 + log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
98 + /* Close stderr ASAP to make sure that nothing is being written to
99 + * that fd which may not be valid anymore after forking. */
100 + if (-1 == log_error_open(srv)) {
101 + log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
104 + network_close(srv);
110 + /* network is up, let's deamonize ourself */
111 + if (srv->srvconf.dont_daemonize == 0) daemonize();
114 + /* write pid file */
115 + if (pid_fd != -1) {
116 + buffer_copy_long(srv->tmp_buf, getpid());
117 + buffer_append_string_len(srv->tmp_buf, CONST_STR_LEN("\n"));
118 + write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
124 #ifdef HAVE_SIGACTION
125 @@ -1042,62 +1096,6 @@
129 - if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
130 - log_error_write(srv, __FILE__, __LINE__,
131 - "s", "fdevent_init failed");
135 - * kqueue() is called here, select resets its internals,
136 - * all server sockets get their handlers
139 - if (0 != network_register_fdevents(srv)) {
141 - network_close(srv);
147 - /* might fail if user is using fam (not gamin) and famd isn't running */
148 - if (NULL == (srv->stat_cache = stat_cache_init())) {
149 - log_error_write(srv, __FILE__, __LINE__, "s",
150 - "stat-cache could not be setup, dieing.");
156 - if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
157 - if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
158 - log_error_write(srv, __FILE__, __LINE__, "s",
159 - "could not open a fam connection, dieing.");
162 -#ifdef HAVE_FAMNOEXISTS
163 - FAMNoExists(srv->stat_cache->fam);
166 - srv->stat_cache->fam_fcce_ndx = -1;
167 - fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
168 - fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
173 - /* get the current number of FDs */
174 - srv->cur_fds = open("/dev/null", O_RDONLY);
175 - close(srv->cur_fds);
177 - for (i = 0; i < srv->srv_sockets.used; i++) {
178 - server_socket *srv_socket = srv->srv_sockets.ptr[i];
179 - if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
180 - log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
186 while (!srv_shutdown) {