diff options
Diffstat (limited to 'src/server.c')
| -rw-r--r-- | src/server.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server.c b/src/server.c index b623db7..caeb4bf 100644 --- a/src/server.c +++ b/src/server.c @@ -9,7 +9,7 @@ #include <sys/socket.h> #include <unistd.h> #include <pthread.h> -#include <sys/sysinfo.h> +#include <unistd.h> #include <stdlib.h> #include <signal.h> @@ -86,8 +86,9 @@ static int work_queue_pop(WorkQueue *queue) { } static int get_optimal_thread_count(void) { - int cores = get_nprocs(); - return cores * 2; + long cores = sysconf(_SC_NPROCESSORS_ONLN); + if (cores < 1) cores = 1; + return (int)(cores * 2); } void handle_client_connection(int new_socket); |
