fixed -W, working on -r

This commit is contained in:
elvis
2022-04-25 20:24:55 +02:00
parent d8a0220ade
commit e67d3b5580
8 changed files with 72 additions and 105 deletions

View File

@ -250,6 +250,7 @@ int main(int argc, char *argv[]) {
FD_CLR(i, &set);
close(i);
free(connfd);
continue;
}
@ -280,7 +281,7 @@ int main(int argc, char *argv[]) {
free(connfd);
goto _cleanup;
}
args->connfd = connfd;
args->connfd = *connfd;
args->quit = &quit;
args->request_pipe = request_pipe[1];
args->q = queue;
@ -293,13 +294,13 @@ int main(int argc, char *argv[]) {
int r = addToThreadPool(pool, threadF, args);
if (r == 0) {
numberOfConnections++;
free(connfd);
continue; // aggiunto con successo
}
if (r < 0) // errore interno
fprintf(stderr, "ERROR FATAL adding to the thread pool\n");
else // coda dei pendenti piena
fprintf(stderr, "ERROR SERVER TOO BUSY\n");
free(args);
close(*connfd);
free(connfd);
continue;
@ -329,6 +330,7 @@ int main(int argc, char *argv[]) {
}
break;
}
free(connfd);
continue;
}
if (i == signal_pipe[0]) { // controllo se devo terminare
@ -382,8 +384,7 @@ int main(int argc, char *argv[]) {
free(connfd);
goto _cleanup;
}
*connfd = i;
args->connfd = connfd;
args->connfd = i;
args->quit = &quit;
args->request_pipe = request_pipe[1];
args->q = queue;
@ -396,13 +397,13 @@ int main(int argc, char *argv[]) {
int r = addToThreadPool(pool, threadF, args);
if (r == 0) {
numberOfConnections++;
free(connfd);
continue; // aggiunto con successo
}
if (r < 0) // errore interno
fprintf(stderr, "ERROR FATAL adding to the thread pool\n");
else // coda dei pendenti piena
fprintf(stderr, "ERROR SERVER TOO BUSY\n");
free(args);
close(*connfd);
free(connfd);
continue;
@ -436,6 +437,12 @@ int main(int argc, char *argv[]) {
return 0;
_cleanup:
if(queue) {
destroyQueue(queue);
}
if(taglia) {
taglia_del(taglia);
}
unlink(socketName);
free(socketName);
return -1;