From ee5c63005222dc809d86c0c1170beea5f591cb55 Mon Sep 17 00:00:00 2001 From: lxsang Date: Sun, 14 Oct 2018 11:19:06 +0200 Subject: [PATCH] fix deadlock --- http_server.c | 1 + libs/handle.h | 2 +- libs/scheduler.c | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/http_server.c b/http_server.c index f989742..42a8e5b 100644 --- a/http_server.c +++ b/http_server.c @@ -190,6 +190,7 @@ void *accept_request(void *data) if (server_config.usessl == 1 && client->status == 0) { if(client->attempt > MAX_ATTEMPT) return task; + LOG("Atttempt %d\n", client->attempt); if (SSL_accept((SSL *)client->ssl) == -1) { client->attempt++; diff --git a/libs/handle.h b/libs/handle.h index 46b5400..172975c 100644 --- a/libs/handle.h +++ b/libs/handle.h @@ -26,7 +26,7 @@ #define __RESULT__ "{\"result\":%d,\"msg\":\"%s\"}" #define FORM_URL_ENCODE "application/x-www-form-urlencoded" #define FORM_MULTI_PART "multipart/form-data" -#define MAX_ATTEMPT 500 +#define MAX_ATTEMPT 5000 #ifdef USE_OPENSSL int __attribute__((weak)) usessl(); #endif diff --git a/libs/scheduler.c b/libs/scheduler.c index a939d1a..49fa691 100644 --- a/libs/scheduler.c +++ b/libs/scheduler.c @@ -153,13 +153,13 @@ void antd_scheduler_init(antd_scheduler_t* scheduler, int n) scheduler->workers_queue = NULL; scheduler->pending_task = 0 ; // init semaphore - scheduler->scheduler_sem = sem_open("scheduler", O_RDWR | O_CREAT, S_IRWXU); - if (!scheduler->scheduler_sem) + scheduler->scheduler_sem = sem_open("scheduler", O_CREAT, 0600, 0); + if (scheduler->scheduler_sem == SEM_FAILED) { LOG("Cannot open semaphore for scheduler\n"); exit(-1); } - scheduler->worker_sem = sem_open("worker", O_RDWR | O_CREAT, S_IRWXU); + scheduler->worker_sem = sem_open("worker", O_CREAT, 0600, 0); if (!scheduler->worker_sem) { LOG("Cannot open semaphore for workers\n");