#define MAX_PROCS LONGBITS
#endif
+/* MAX_THREADS defines the highest limit for the global nbthread value. It
+ * defaults to the number of bits in a long integer when threads are enabled
+ * but may be lowered to save resources on embedded systems.
+*/
+#ifndef USE_THREAD
+/* threads disabled, 1 thread max */
+#define MAX_THREADS 1
+#define MAX_THREADS_MASK 1
+
+#else
+/* threads enabled, max_threads defaults to long bits */
+#ifndef MAX_THREADS
+#define MAX_THREADS LONGBITS
+#endif
+#define MAX_THREADS_MASK (~0UL >> (LONGBITS - MAX_THREADS))
+#endif
+
/*
* BUFSIZE defines the size of a read and write buffer. It is the maximum
* amount of bytes which can be stored by the proxy for each stream. However,
#include <haproxy/buf-t.h>
#include <haproxy/freq_ctr-t.h>
#include <haproxy/list-t.h>
-#include <haproxy/thread-t.h>
#include <haproxy/api-t.h>
#include <haproxy/vars-t.h>
#endif
#include <time.h>
+#include <haproxy/defaults.h>
/* Note: this file mainly contains 3 sections:
* - one used solely when USE_THREAD is *not* set
/********************** THREADS DISABLED ************************/
#define THREAD_LOCAL /* empty */
-#define MAX_THREADS 1
-#define MAX_THREADS_MASK 1
/* These macros allow to make some struct fields or local variables optional */
#define __decl_thread(decl)
#define THREAD_LOCAL __thread
-#ifndef MAX_THREADS
-#define MAX_THREADS LONGBITS
-#endif
-
-#define MAX_THREADS_MASK (~0UL >> (LONGBITS - MAX_THREADS))
-
#define __decl_thread(decl) decl
/* declare a self-initializing spinlock */
#include <haproxy/cli.h>
#include <haproxy/stream_interface.h>
#include <haproxy/tools.h>
-#include <haproxy/thread-t.h>
#include <haproxy/activity-t.h>
#include <haproxy/freq_ctr.h>