REORG: mworker: move proc_self from global to mworker

Only mworker uses proc_self, and it was declared in global.h, forcing
users of global.h to include mworker and its dependencies.

Moving it to mworker reduces the preprocessed size of version.c from
170 to 125kB by shrinking the number of local includes from 30 to 16
and the number of system includes from 147 to 132.
This commit is contained in:
Willy Tarreau 2021-05-08 12:30:50 +02:00
parent e8ceea1345
commit 15f9ac3c59
5 changed files with 4 additions and 4 deletions

View File

@ -27,6 +27,7 @@
#include <haproxy/channel-t.h>
#include <haproxy/cli-t.h>
#include <haproxy/global.h>
#include <haproxy/mworker-t.h>
#include <haproxy/stream-t.h>

View File

@ -24,7 +24,6 @@
#include <haproxy/api-t.h>
#include <haproxy/global-t.h>
#include <haproxy/mworker-t.h>
extern const char *build_features;
extern struct global global;
@ -49,7 +48,6 @@ extern char *localpeer;
extern unsigned int warned; /* bitfield of a few warnings to emit just once */
extern volatile unsigned long sleeping_thread_mask;
extern struct list proc_list; /* list of process in mworker mode */
extern struct mworker_proc *proc_self; /* process structure of current process */
extern int master; /* 1 if in master, 0 otherwise */
extern unsigned int rlim_fd_cur_at_boot;
extern unsigned int rlim_fd_max_at_boot;

View File

@ -17,6 +17,8 @@
#include <haproxy/mworker-t.h>
#include <haproxy/signal-t.h>
extern struct mworker_proc *proc_self;
void mworker_proc_list_to_env();
void mworker_env_to_proc_list();

View File

@ -252,8 +252,6 @@ unsigned int rlim_fd_max_at_boot = 0;
/* per-boot randomness */
unsigned char boot_seed[20]; /* per-boot random seed (160 bits initially) */
struct mworker_proc *proc_self = NULL;
static void *run_thread_poll_loop(void *data);
/* bitfield of a few warnings to emit just once (WARN_*) */

View File

@ -42,6 +42,7 @@
static int exitcode = -1;
static int max_reloads = -1; /* number max of reloads a worker can have until they are killed */
struct mworker_proc *proc_self = NULL; /* process structure of current process */
/* ----- children processes handling ----- */