summaryrefslogtreecommitdiff
path: root/httpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'httpd.c')
-rw-r--r--httpd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/httpd.c b/httpd.c
index a86142d..841ad4c 100644
--- a/httpd.c
+++ b/httpd.c
@@ -482,6 +482,7 @@ void httpd(void)
int n_threads = 0;
int n;
time_t start_time = time(NULL);
+ char sem_name[24];
address = xs_dict_get(srv_config, "address");
port = xs_number_get(xs_dict_get(srv_config, "port"));
@@ -507,7 +508,8 @@ void httpd(void)
/* initialize the job control engine */
pthread_mutex_init(&job_mutex, NULL);
- job_sem = sem_open("/job", O_CREAT, 0644, 0);
+ sprintf(sem_name, "/job_%d", getpid());
+ job_sem = sem_open(sem_name, O_CREAT, 0644, 0);
job_fifo = xs_list_new();
/* initialize sleep control */
@@ -567,6 +569,7 @@ void httpd(void)
pthread_mutex_unlock(&job_mutex);
sem_close(job_sem);
+ sem_unlink(sem_name);
xs *uptime = xs_str_time_diff(time(NULL) - start_time);