From: pk910 Date: Fri, 13 Jan 2012 16:41:32 +0000 (+0100) Subject: added thread count to cmd_netinfo X-Git-Tag: v5.3~60 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=b46d9426eba4685b2c84fb82b1521aafd3488da2 added thread count to cmd_netinfo --- diff --git a/src/cmd_global_netinfo.c b/src/cmd_global_netinfo.c index e7d6b94..1e68aaa 100644 --- a/src/cmd_global_netinfo.c +++ b/src/cmd_global_netinfo.c @@ -25,7 +25,7 @@ CMD_BIND(global_cmd_netinfo) { reply(getTextBot(), user, "NS_NETINFO_HEADER"); char tmp[MAXLEN]; struct Table *table; - table = table_init(2, 18, 0); + table = table_init(2, 19, 0); char *content[2]; content[0] = get_language_string(user, "NS_NETINFO_UPTIME"); @@ -144,6 +144,13 @@ CMD_BIND(global_cmd_netinfo) { content[1] = tmp; table_add(table, content); + #ifdef HAVE_THREADS + content[0] = get_language_string(user, "NS_NETINFO_THREADS"); + sprintf(tmp, "%d (current tid: %lu)", running_threads, syscall(SYS_gettid)); + content[1] = tmp; + table_add(table, content); + #endif + if(strcmp(revision, "")) sprintf(tmp, "%s.%d (%s)", NEONSERV_VERSION, patchlevel, revision); else diff --git a/src/main.c b/src/main.c index 60b7ec6..a1b7161 100644 --- a/src/main.c +++ b/src/main.c @@ -42,6 +42,9 @@ static int running, hard_restart; static int statistics_requested_lusers = 0; int statistics_enabled; TIMEQ_CALLBACK(main_statistics); +#ifdef HAVE_THREADS +int running_threads; +#endif void cleanup() { free_sockets(); @@ -106,6 +109,7 @@ void * thread_main(void *arg) { destroyEvents(); queue_loop(); } + running_threads--; return NULL; } #endif @@ -160,11 +164,13 @@ main: pthread_t tid[worker_threads]; int tid_id = 0; for(tid_id = 0; tid_id < worker_threads; tid_id++) { + running_threads++; pthread_create(&tid[tid_id], NULL, thread_main, NULL); } for(tid_id = 0; tid_id < worker_threads; tid_id++) { pthread_join(tid[tid_id], NULL); } + running_threads = 0; #else time_t socket_wait; while(running) { diff --git a/src/main.h b/src/main.h index 879f46c..d3a5ec2 100644 --- a/src/main.h +++ b/src/main.h @@ -43,6 +43,8 @@ #include #include #ifdef HAVE_THREADS +#include +#include #define THREAD_MUTEX_INIT(var) { \ pthread_mutexattr_t mutex_attr; \ pthread_mutexattr_init(&mutex_attr);\ @@ -51,7 +53,6 @@ } #define SYNCHRONIZE(var) pthread_mutex_lock(&var) #define DESYNCHRONIZE(var) pthread_mutex_unlock(&var) -#include #else #define THREAD_MUTEX_INIT(var) #define SYNCHRONIZE(var) @@ -120,6 +121,9 @@ extern time_t start_time; extern int statistics_enabled; +#ifdef HAVE_THREADS +extern int running_threads; +#endif int stricmp (const char *s1, const char *s2); int stricmplen (const char *s1, const char *s2, int len);