210 &o, |
210 &o, |
211 sizeof(int)); |
211 sizeof(int)); |
212 |
212 |
213 /* bind server socket to address */ |
213 /* bind server socket to address */ |
214 if(bind(listener->server_socket, (struct sockaddr*)&servaddr, sizeof(servaddr))){ |
214 if(bind(listener->server_socket, (struct sockaddr*)&servaddr, sizeof(servaddr))){ |
215 perror("Error: http_listener_new: bind"); |
215 log_ereport(LOG_FAILURE, "http_listener_new: bind failed. Port: %d", conf->port); |
216 printf("port: %d\n", conf->port); |
|
217 return NULL; |
216 return NULL; |
218 } |
217 } |
219 |
218 |
220 /* create acceptors */ |
219 /* create acceptors */ |
221 listener->acceptors = calloc(listener->nacceptors, sizeof(void*)); |
220 listener->acceptors = calloc(listener->nacceptors, sizeof(void*)); |
228 |
227 |
229 int http_listener_start(HttpListener *listener) { |
228 int http_listener_start(HttpListener *listener) { |
230 if(listener->running) { |
229 if(listener->running) { |
231 return 0; |
230 return 0; |
232 } |
231 } |
233 printf("INFO: start listener\n"); |
|
234 log_ereport(LOG_INFORM, "start listener on port %d", listener->port); |
232 log_ereport(LOG_INFORM, "start listener on port %d", listener->port); |
235 |
233 |
236 if (listen(listener->server_socket, 256) == -1) { |
234 if (listen(listener->server_socket, 256) == -1) { |
237 perror("Error: http_listener_start: listen"); |
235 log_ereport(LOG_FAILURE, "http_listener_start: listen failed"); |
238 return -1; |
236 return -1; |
239 } |
237 } |
240 |
238 |
241 /* start acceptor threads */ |
239 /* start acceptor threads */ |
242 for (int i=0;i<listener->nacceptors;i++) { |
240 for (int i=0;i<listener->nacceptors;i++) { |