MINOR: threads: Use __decl_hathreads to declare locks

This macro should be used to declare variables or struct members depending on
the USE_THREAD compile option. It avoids the encapsulation of such declarations
between #ifdef/#endif. It is used to declare all lock variables.
diff --git a/include/types/backend.h b/include/types/backend.h
index 68d3125..c7f9fa3 100644
--- a/include/types/backend.h
+++ b/include/types/backend.h
@@ -147,9 +147,8 @@
 	struct lb_fwlc fwlc;
 	struct lb_chash chash;
 	struct lb_fas fas;
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
+
 	/* Call backs for some actions. Any of them may be NULL (thus should be ignored). */
 	void (*update_server_eweight)(struct server *);  /* to be called after eweight change */
 	void (*set_server_status_up)(struct server *);   /* to be called after status changes to UP */
diff --git a/include/types/dns.h b/include/types/dns.h
index bdc8cfc..b1f068a 100644
--- a/include/types/dns.h
+++ b/include/types/dns.h
@@ -193,9 +193,7 @@
 	struct eb_root query_ids;           /* tree to quickly lookup/retrieve query ids currently in use
                                              * used by each nameserver, but stored in resolvers since there must
                                              * be a unique relation between an eb_root and an eb_node (resolution) */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 	struct list list;                   /* resolvers list */
 };
 
diff --git a/include/types/fd.h b/include/types/fd.h
index 2da6599..2d8237b 100644
--- a/include/types/fd.h
+++ b/include/types/fd.h
@@ -95,9 +95,7 @@
 	void (*iocb)(int fd);                /* I/O handler */
 	void *owner;                         /* the connection or listener associated with this fd, NULL if closed */
 	unsigned long thread_mask;           /* mask of thread IDs authorized to process the task */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 	unsigned int  cache;                 /* position+1 in the FD cache. 0=not in cache. */
 	unsigned char state;                 /* FD state for read and write directions (2*3 bits) */
 	unsigned char ev;                    /* event seen in return of poll() : FD_POLL_* */
diff --git a/include/types/global.h b/include/types/global.h
index 48b6f9d..6793c83 100644
--- a/include/types/global.h
+++ b/include/types/global.h
@@ -163,11 +163,7 @@
 	} unix_bind;
 #ifdef USE_CPU_AFFINITY
 	unsigned long cpu_map[LONGBITS];              /* list of CPU masks for the 32/64 first processes */
-
-#ifdef USE_THREAD
-	unsigned long thread_map[LONGBITS][LONGBITS]; /* list of CPU masks for the 32/64 first threads per process */
-#endif
-
+	__decl_hathreads(unsigned long thread_map[LONGBITS][LONGBITS]); /* list of CPU masks for the 32/64 first threads per process */
 #endif
 	struct proxy *stats_fe;     /* the frontend holding the stats settings */
 	struct vars   vars;         /* list of variables for the process scope. */
diff --git a/include/types/listener.h b/include/types/listener.h
index ac39758..545f88c 100644
--- a/include/types/listener.h
+++ b/include/types/listener.h
@@ -200,9 +200,7 @@
 	int tcp_ut;                     /* for TCP, user timeout */
 	char *interface;		/* interface name or NULL */
 
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 
 	const struct netns_entry *netns; /* network namespace of the listener*/
 
diff --git a/include/types/pattern.h b/include/types/pattern.h
index d5c340a..a0bb08e 100644
--- a/include/types/pattern.h
+++ b/include/types/pattern.h
@@ -107,9 +107,7 @@
 	char *display; /* String displayed to identify the pattern origin. */
 	struct list head; /* The head of the list of struct pat_ref_elt. */
 	struct list pat; /* The head of the list of struct pattern_expr. */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock; /* Lock used to protect pat ref elements */
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock); /* Lock used to protect pat ref elements */
 };
 
 /* This is a part of struct pat_ref. Each entry contain one
@@ -202,9 +200,7 @@
 	struct eb_root pattern_tree;  /* may be used for lookup in large datasets */
 	struct eb_root pattern_tree_2;  /* may be used for different types */
 	int mflags;                     /* flags relative to the parsing or matching method. */
-#ifdef USE_THREAD
-	HA_RWLOCK_T lock;               /* lock used to protect patterns */
-#endif
+	__decl_hathreads(HA_RWLOCK_T lock);               /* lock used to protect patterns */
 };
 
 /* This is a list of expression. A struct pattern_expr can be used by
diff --git a/include/types/peers.h b/include/types/peers.h
index 2fc7435..58c8c4e 100644
--- a/include/types/peers.h
+++ b/include/types/peers.h
@@ -67,9 +67,7 @@
 	struct shared_table *remote_table;
 	struct shared_table *last_local_table;
 	struct shared_table *tables;
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;	 /* lock used to handle this peer section */
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock); /* lock used to handle this peer section */
 	struct peer *next;	  /* next peer in the list */
 };
 
diff --git a/include/types/proxy.h b/include/types/proxy.h
index 719c8dd..3b7d9a3 100644
--- a/include/types/proxy.h
+++ b/include/types/proxy.h
@@ -239,9 +239,7 @@
 					 * code even though they are not checks. This structure
 					 * is as a parameter to the check code.
 					 * Each check corresponds to a mailer */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 };
 
 struct proxy {
@@ -444,10 +442,7 @@
 						 * name is used
 						 */
 	struct list filter_configs;		/* list of the filters that are declared on this proxy */
-
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 };
 
 struct switching_rule {
diff --git a/include/types/server.h b/include/types/server.h
index 76225f7..adedca4 100644
--- a/include/types/server.h
+++ b/include/types/server.h
@@ -286,10 +286,7 @@
 		struct sample_expr *sni;        /* sample expression for SNI */
 	} ssl_ctx;
 #endif
-
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 	struct {
 		const char *file;		/* file where the section appears */
 		int line;			/* line where the section appears */
diff --git a/include/types/spoe.h b/include/types/spoe.h
index aead2ba..53e7200 100644
--- a/include/types/spoe.h
+++ b/include/types/spoe.h
@@ -264,10 +264,7 @@
 		struct list     applets;        /* List of available SPOE applets */
 		struct list     sending_queue;  /* Queue of streams waiting to send data */
 		struct list     waiting_queue;  /* Queue of streams waiting for a ack, in async mode */
-
-#ifdef USE_THREAD
-		HA_SPINLOCK_T   lock;
-#endif
+		__decl_hathreads(HA_SPINLOCK_T lock);
 	} *rt;
 
 };
diff --git a/include/types/stick_table.h b/include/types/stick_table.h
index 4f5de99..4a8d8c7 100644
--- a/include/types/stick_table.h
+++ b/include/types/stick_table.h
@@ -129,9 +129,7 @@
 struct stksess {
 	unsigned int expire;      /* session expiration date */
 	unsigned int ref_cnt;     /* reference count, can only purge when zero */
-#ifdef USE_THREAD
-	HA_RWLOCK_T lock;         /* lock related to the table entry */
-#endif
+	__decl_hathreads(HA_RWLOCK_T lock); /* lock related to the table entry */
 	struct eb32_node exp;     /* ebtree node used to hold the session in expiration tree */
 	struct eb32_node upd;     /* ebtree node used to hold the update sequence tree */
 	struct ebmb_node key;     /* ebtree node used to hold the session in table */
@@ -146,9 +144,7 @@
 	struct eb_root exps;      /* head of sticky session expiration tree */
 	struct eb_root updates;   /* head of sticky updates sequence tree */
 	struct pool_head *pool;   /* pool used to allocate sticky sessions */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;       /* spin lock related to the table */
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock); /* spin lock related to the table */
 	struct task *exp_task;    /* expiration task */
 	struct task *sync_task;   /* sync task */
 	unsigned int update;
diff --git a/include/types/task.h b/include/types/task.h
index 70fc681..991e3a4 100644
--- a/include/types/task.h
+++ b/include/types/task.h
@@ -57,9 +57,7 @@
 	struct list wake_me; /* Part of list of signals to be targeted if an
 	                        event occurs. */
 	struct task *task; /* The task to be wake if an event occurs. */
-#ifdef USE_THREAD
-	HA_SPINLOCK_T lock;
-#endif
+	__decl_hathreads(HA_SPINLOCK_T lock);
 };
 
 /* The base for all tasks */
diff --git a/include/types/vars.h b/include/types/vars.h
index 8a4f7aa..9b166e9 100644
--- a/include/types/vars.h
+++ b/include/types/vars.h
@@ -18,9 +18,7 @@
 	struct list head;
 	enum vars_scope scope;
 	unsigned int size;
-#ifdef USE_THREAD
-	HA_RWLOCK_T rwlock;
-#endif
+	__decl_hathreads(HA_RWLOCK_T rwlock);
 };
 
 /* This struct describes a variable. */