projects
/
NeonServV5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improved WHOHandler multi thread stability
[NeonServV5.git]
/
src
/
main.h
diff --git
a/src/main.h
b/src/main.h
index 329aa5d13c60a3c3072e2365985b6b173fa39503..6a2a99f575a38f666adb593a2a1b4d9f38b45684 100644
(file)
--- a/
src/main.h
+++ b/
src/main.h
@@
-52,7
+52,14
@@
pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP);\
pthread_mutex_init(&var, &mutex_attr); \
}
pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP);\
pthread_mutex_init(&var, &mutex_attr); \
}
+#define THREAD_MUTEX_INIT_TYPE(var, type) { \
+ pthread_mutexattr_t mutex_attr; \
+ pthread_mutexattr_init(&mutex_attr);\
+ pthread_mutexattr_settype(&mutex_attr, type);\
+ pthread_mutex_init(&var, &mutex_attr); \
+}
#define SYNCHRONIZE(var) pthread_mutex_lock(&var)
#define SYNCHRONIZE(var) pthread_mutex_lock(&var)
+#define SET_SYNCHRONIZE(var) pthread_mutex_trylock(&var)
#define DESYNCHRONIZE(var) pthread_mutex_unlock(&var)
#else
#define THREAD_MUTEX_INIT(var)
#define DESYNCHRONIZE(var) pthread_mutex_unlock(&var)
#else
#define THREAD_MUTEX_INIT(var)
@@
-127,6
+134,8
@@
extern time_t start_time;
extern int statistics_enabled;
#ifdef HAVE_THREADS
extern int running_threads;
extern int statistics_enabled;
#ifdef HAVE_THREADS
extern int running_threads;
+extern pthread_mutex_t cache_sync;
+extern pthread_mutex_t whohandler_sync, whohandler_mass_sync;
#endif
int stricmp (const char *s1, const char *s2);
#endif
int stricmp (const char *s1, const char *s2);