haproxy/include/haproxy/mworker-t.h
William Lallemand 7cb6167d04 MAJOR: mworker: remove program section support
This patch removes completely the support for the program section, the
parsing of the section as well as the internals in the mworker does not
support it anymore.

The program section was considered dysfonctional and not fully
compatible with the "mworker V3" model. Users that want to run an
external program must use their init system.

The documentation is cleaned up in another patch.
2025-06-25 16:11:34 +02:00

54 lines
1.6 KiB
C

/*
* include/haproxy/mworker-t.h
* Master Worker type definitions.
*
* Copyright HAProxy Technologies 2019 - William Lallemand <wlallemand@haproxy.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version
* 2 of the License, or (at your option) any later version.
*
*/
#ifndef _HAPROXY_MWORKER_T_H_
#define _HAPROXY_MWORKER_T_H_
#include <haproxy/list.h>
#include <haproxy/signal-t.h>
/* options for mworker_proc */
#define PROC_O_TYPE_MASTER 0x00000001
#define PROC_O_TYPE_WORKER 0x00000002
/* 0x00000004 unused */
/* 0x00000008 unused */
#define PROC_O_LEAVING 0x00000010 /* this process should be leaving */
/* state of the newly forked worker process, which hasn't sent yet its READY message to master */
#define PROC_O_INIT 0x00000020
/* 0x00000040 to 0x00000080 unused */
#define PROC_O_START_RELOAD 0x00000100 /* Start the process even if the master was re-executed */
/*
* Structure used to describe the processes in master worker mode
*/
struct server;
struct mworker_proc {
int pid;
int options;
char *id;
char **command;
char *path;
char *version;
int ipc_fd[2]; /* 0 is master side, 1 is worker side */
int reloads;
int failedreloads; /* number of failed reloads since the last successful one */
int timestamp;
struct server *srv; /* the server entry in the master proxy */
struct list list;
int uid;
int gid;
};
#endif /* _HAPROXY_MWORKER_T_H_ */