workers: Check return values of mpmc_init and workers_init
This commit is contained in:
+13
-1
@@ -411,7 +411,19 @@ int main(int argc, char *const argv[]) {
|
|||||||
|
|
||||||
logger_set_name("main");
|
logger_set_name("main");
|
||||||
|
|
||||||
workers_init();
|
if (workers_init() != 0) {
|
||||||
|
critical("Unable to initialize workers");
|
||||||
|
ssl_free();
|
||||||
|
list_free(clients);
|
||||||
|
sem_destroy(&sem_clients_lock);
|
||||||
|
geoip_free();
|
||||||
|
proxy_unload();
|
||||||
|
cache_join();
|
||||||
|
async_free();
|
||||||
|
logger_stop();
|
||||||
|
logger_join();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
for (int i = 0; i < NUM_SOCKETS; i++) {
|
for (int i = 0; i < NUM_SOCKETS; i++) {
|
||||||
async_fd(sockets[i], ASYNC_WAIT_READ, ASYNC_KEEP, &sockets[i], accept_cb, accept_err_cb, accept_err_cb);
|
async_fd(sockets[i], ASYNC_WAIT_READ, ASYNC_KEEP, &sockets[i], accept_cb, accept_err_cb, accept_err_cb);
|
||||||
|
|||||||
+20
-10
@@ -16,16 +16,26 @@ static mpmc_t tcp_acceptor_ctx, request_handler_ctx, local_handler_ctx, fastcgi_
|
|||||||
proxy_peer_handler_ctx, ws_frame_handler_ctx, chunk_handler_ctx, fastcgi_frame_handler_ctx;
|
proxy_peer_handler_ctx, ws_frame_handler_ctx, chunk_handler_ctx, fastcgi_frame_handler_ctx;
|
||||||
|
|
||||||
int workers_init(void) {
|
int workers_init(void) {
|
||||||
mpmc_init(&tcp_acceptor_ctx, 8, 64, (void (*)(void *)) tcp_acceptor_func, "tcp");
|
int ret;
|
||||||
mpmc_init(&request_handler_ctx, 8, 64, (void (*)(void *)) request_handler_func, "req");
|
if ((ret = mpmc_init(&tcp_acceptor_ctx, 8, 64, (void (*)(void *)) tcp_acceptor_func, "tcp")) != 0)
|
||||||
mpmc_init(&local_handler_ctx, 8, 64, (void (*)(void *)) local_handler_func, "local");
|
return ret;
|
||||||
mpmc_init(&fastcgi_handler_ctx, 8, 64, (void (*)(void *)) fastcgi_handler_func, "fcgi");
|
if ((ret = mpmc_init(&request_handler_ctx, 8, 64, (void (*)(void *)) request_handler_func, "req")) != 0)
|
||||||
mpmc_init(&proxy_handler_ctx, 8, 64, (void (*)(void *)) proxy_handler_func, "proxy");
|
return ret;
|
||||||
mpmc_init(&proxy_peer_handler_ctx, 1, 8, (void (*)(void *)) proxy_peer_handler_func, "prxy_p");
|
if ((ret = mpmc_init(&local_handler_ctx, 8, 64, (void (*)(void *)) local_handler_func, "local")) != 0)
|
||||||
mpmc_init(&ws_frame_handler_ctx, 8, 64, (void (*)(void *)) ws_frame_handler_func, "ws");
|
return ret;
|
||||||
mpmc_init(&chunk_handler_ctx, 8, 64, (void (*)(void *)) chunk_handler_func, "chunk");
|
if ((ret = mpmc_init(&fastcgi_handler_ctx, 8, 64, (void (*)(void *)) fastcgi_handler_func, "fcgi")) != 0)
|
||||||
mpmc_init(&fastcgi_frame_handler_ctx, 8, 64, (void (*)(void *)) fastcgi_frame_handler_func, "fcgi_f");
|
return ret;
|
||||||
return -1;
|
if ((ret = mpmc_init(&proxy_handler_ctx, 8, 64, (void (*)(void *)) proxy_handler_func, "proxy")) != 0)
|
||||||
|
return ret;
|
||||||
|
if ((ret = mpmc_init(&proxy_peer_handler_ctx, 1, 8, (void (*)(void *)) proxy_peer_handler_func, "prxy_p")) != 0)
|
||||||
|
return ret;
|
||||||
|
if ((ret = mpmc_init(&ws_frame_handler_ctx, 8, 64, (void (*)(void *)) ws_frame_handler_func, "ws")) != 0)
|
||||||
|
return ret;
|
||||||
|
if ((ret = mpmc_init(&chunk_handler_ctx, 8, 64, (void (*)(void *)) chunk_handler_func, "chunk")) != 0)
|
||||||
|
return ret;
|
||||||
|
if ((ret = mpmc_init(&fastcgi_frame_handler_ctx, 8, 64, (void (*)(void *)) fastcgi_frame_handler_func, "fcgi_f")) != 0)
|
||||||
|
return ret;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void workers_stop(void) {
|
void workers_stop(void) {
|
||||||
|
|||||||
Reference in New Issue
Block a user