2 ===================================================================
3 --- src/server.c (revision 2188)
4 +++ src/server.c (working copy)
10 - /* network is up, let's deamonize ourself */
11 - if (srv->srvconf.dont_daemonize == 0) daemonize();
17 - /* write pid file */
19 - buffer_copy_long(srv->tmp_buf, getpid());
20 - buffer_append_string(srv->tmp_buf, "\n");
21 - write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
26 - /* Close stderr ASAP in the child process to make sure that nothing
27 - * is being written to that fd which may not be valid anymore. */
28 - if (-1 == log_error_open(srv)) {
29 - log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
37 if (HANDLER_GO_ON != plugins_call_set_defaults(srv)) {
38 log_error_write(srv, __FILE__, __LINE__, "s", "Configuration of plugins failed. Going down.");
44 + if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
45 + log_error_write(srv, __FILE__, __LINE__,
46 + "s", "fdevent_init failed");
50 + * kqueue() is called here, select resets its internals,
51 + * all server sockets get their handlers
54 + if (0 != network_register_fdevents(srv)) {
62 + /* might fail if user is using fam (not gamin) and famd isn't running */
63 + if (NULL == (srv->stat_cache = stat_cache_init())) {
64 + log_error_write(srv, __FILE__, __LINE__, "s",
65 + "stat-cache could not be setup, dieing.");
71 + if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
72 + if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
73 + log_error_write(srv, __FILE__, __LINE__, "s",
74 + "could not open a fam connection, dieing.");
77 +#ifdef HAVE_FAMNOEXISTS
78 + FAMNoExists(srv->stat_cache->fam);
81 + srv->stat_cache->fam_fcce_ndx = -1;
82 + fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
83 + fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
88 + /* get the current number of FDs */
89 + srv->cur_fds = open("/dev/null", O_RDONLY);
90 + close(srv->cur_fds);
92 + for (i = 0; i < srv->srv_sockets.used; i++) {
93 + server_socket *srv_socket = srv->srv_sockets.ptr[i];
94 + if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
95 + log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
100 + /* Close stderr ASAP to make sure that nothing is being written to
101 + * that fd which may not be valid anymore after forking. */
102 + if (-1 == log_error_open(srv)) {
103 + log_error_write(srv, __FILE__, __LINE__, "s", "Opening errorlog failed. Going down.");
106 + network_close(srv);
112 + /* network is up, let's deamonize ourself */
113 + if (srv->srvconf.dont_daemonize == 0) daemonize();
116 + /* write pid file */
117 + if (pid_fd != -1) {
118 + buffer_copy_long(srv->tmp_buf, getpid());
119 + buffer_append_string(srv->tmp_buf, "\n");
120 + write(pid_fd, srv->tmp_buf->ptr, srv->tmp_buf->used - 1);
126 #ifdef HAVE_SIGACTION
127 memset(&act, 0, sizeof(act));
128 act.sa_handler = SIG_IGN;
129 @@ -1067,62 +1121,6 @@
133 - if (NULL == (srv->ev = fdevent_init(srv->max_fds + 1, srv->event_handler))) {
134 - log_error_write(srv, __FILE__, __LINE__,
135 - "s", "fdevent_init failed");
139 - * kqueue() is called here, select resets its internals,
140 - * all server sockets get their handlers
143 - if (0 != network_register_fdevents(srv)) {
145 - network_close(srv);
151 - /* might fail if user is using fam (not gamin) and famd isn't running */
152 - if (NULL == (srv->stat_cache = stat_cache_init())) {
153 - log_error_write(srv, __FILE__, __LINE__, "s",
154 - "stat-cache could not be setup, dieing.");
160 - if (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM) {
161 - if (0 != FAMOpen2(srv->stat_cache->fam, "lighttpd")) {
162 - log_error_write(srv, __FILE__, __LINE__, "s",
163 - "could not open a fam connection, dieing.");
166 -#ifdef HAVE_FAMNOEXISTS
167 - FAMNoExists(srv->stat_cache->fam);
170 - srv->stat_cache->fam_fcce_ndx = -1;
171 - fdevent_register(srv->ev, FAMCONNECTION_GETFD(srv->stat_cache->fam), stat_cache_handle_fdevent, NULL);
172 - fdevent_event_add(srv->ev, &(srv->stat_cache->fam_fcce_ndx), FAMCONNECTION_GETFD(srv->stat_cache->fam), FDEVENT_IN);
177 - /* get the current number of FDs */
178 - srv->cur_fds = open("/dev/null", O_RDONLY);
179 - close(srv->cur_fds);
181 - for (i = 0; i < srv->srv_sockets.used; i++) {
182 - server_socket *srv_socket = srv->srv_sockets.ptr[i];
183 - if (-1 == fdevent_fcntl_set(srv->ev, srv_socket->fd)) {
184 - log_error_write(srv, __FILE__, __LINE__, "ss", "fcntl failed:", strerror(errno));
190 while (!srv_shutdown) {