Merge branch 'development'
[NeonServV5.git] / src / overall.h
index 64ee2cadb67eed9bace5fe758bfb36b4549f43b2..55b48eac97e0771cbecbfe6343e89500e349f496 100644 (file)
 #else
 #define pthread_self_tid() pthread_self()
 #endif
+#ifdef PTHREAD_MUTEX_RECURSIVE_NP
+#define PTHREAD_MUTEX_RECURSIVE_VAL PTHREAD_MUTEX_RECURSIVE_NP
+#else
+#define PTHREAD_MUTEX_RECURSIVE_VAL PTHREAD_MUTEX_RECURSIVE
+#endif
 #define THREAD_MUTEX_INIT(var) { \
     pthread_mutexattr_t mutex_attr; \
     pthread_mutexattr_init(&mutex_attr);\
-    pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP);\
+    pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_VAL);\
     pthread_mutex_init(&var, &mutex_attr); \
 }
 #define THREAD_MUTEX_INIT_TYPE(var, type) { \
     pthread_mutexattr_settype(&mutex_attr, type);\
     pthread_mutex_init(&var, &mutex_attr); \
 }
+#ifdef ENABLE_MUTEX_DEBUG
+#include "mutexDebug.h"
+#define SYNCHRONIZE(var) xmutex(1, &var, __FILE__, __LINE__); pthread_mutex_lock(&var)
+#define DESYNCHRONIZE(var) xmutex(0, &var, __FILE__, __LINE__); pthread_mutex_unlock(&var)
+#else
 #define SYNCHRONIZE(var) pthread_mutex_lock(&var)
-#define SET_SYNCHRONIZE(var) pthread_mutex_trylock(&var)
 #define DESYNCHRONIZE(var) pthread_mutex_unlock(&var)
+#endif
 #else
 #define THREAD_MUTEX_INIT(var)
 #define SYNCHRONIZE(var)
 #define DESYNCHRONIZE(var)
+#ifdef ENABLE_MUTEX_DEBUG
+#undef ENABLE_MUTEX_DEBUG
+#endif
 #endif
 
 #if __GNUC__
 #include "memoryDebug.h"
 #endif
 
-#define PID_FILE "neonserv.pid"
-#define CONF_FILE "neonserv.conf"
-#define LOG_FILE "neonserv.log"
-
 #define SOCKET_SELECT_TIME    1
 #define SOCKET_RECONNECT_TIME 20
 
 #define MAXLOGLEN       1024
 #define TRIGGERLEN      50
 #define MAXNUMPARAMS    200 /* maximum number of parameters in one line */
-#define MAXLANGUAGES    5
+#define MAXLANGUAGES    15
 #define MAXMODES        6
 #define INVITE_TIMEOUT  30
 #define BOTWAR_DETECTION_TIME 7
 
 #define timeval_is_bigger(x,y) ((x.tv_sec > y.tv_sec) || (x.tv_sec == y.tv_sec && x.tv_usec > y.tv_usec))
 
-#define perror(errmsg) (putlog(LOGLEVEL_ERROR, "ERROR (%s:%d) %s", __FILE__, __LINE__, errmsg))
-
 #define MODSTATE_RELOAD    0x01
 #define MODSTATE_STARTSTOP 0x02
 #define MODSTATE_REBIND    0x03