X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fmain.h;h=b8d260b8ec68be3582645f48b5447b7757f33095;hb=3b03d79e0abdb8ed15dcc8943cf761f2a2775cf1;hp=5002bcd6d0b3391e061be8a7b1ca649f7d9ca64e;hpb=f90d21daf31f8d69e24406678be696afa8cae962;p=NeonServV5.git diff --git a/src/main.h b/src/main.h index 5002bcd..b8d260b 100644 --- a/src/main.h +++ b/src/main.h @@ -21,7 +21,6 @@ #define NEONSERV_VERSION "5.3" #define VERSION_PATCHLEVEL 543 -#include #include #include #include @@ -31,6 +30,7 @@ #include #include #else +#include #include #include #include @@ -45,14 +45,25 @@ #include #ifdef HAVE_THREADS #include -#include +#ifdef WIN32 +#define pthread_self_tid() pthread_self().p +#else +#define pthread_self_tid() pthread_self() +#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_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 SET_SYNCHRONIZE(var) pthread_mutex_trylock(&var) #define DESYNCHRONIZE(var) pthread_mutex_unlock(&var) #else #define THREAD_MUTEX_INIT(var) @@ -90,6 +101,10 @@ #define COMPILER "Unknown" #endif +#ifdef ENABLE_MEMORY_DEBUG +#include "memoryDebug.h" +#endif + #define SOCKET_SELECT_TIME 1 #define SOCKET_RECONNECT_TIME 20 @@ -109,6 +124,7 @@ #define BOTWAR_DETECTION_TIME 7 #define BOTWAR_DETECTION_EVENTS 6 #define REWHO_TIMEOUT 10 /* wait 10 seconds before WHO an unauthed user again */ +#define TICKS_PER_SECOND 10 //valid nick chars #define VALID_NICK_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890{|}~[\\]^-_`" @@ -120,15 +136,23 @@ #define TEMPUSER_LIST_INDEX VALID_NICK_CHARS_FIRST_LEN +#define timeval_is_bigger(x,y) ((x.tv_sec > y.tv_sec) || (x.tv_sec == y.tv_sec && x.tv_usec > y.tv_usec)) + extern time_t start_time; 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; + +int getCurrentThreadID(); #endif int stricmp (const char *s1, const char *s2); int stricmplen (const char *s1, const char *s2, int len); +void restart_process(); +void cleanup(); void restart_bot(int do_hard_restart); void stop_bot(); void reload_config();