blob: 595cc195061fe795405423f1d70380ab7e27b043 [file] [log] [blame]
William Lallemand48dfbbd2019-04-01 11:29:53 +02001/*
2 * Master Worker
3 *
4 * Copyright HAProxy Technologies 2019 - William Lallemand <wlallemand@haproxy.com>
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version
9 * 2 of the License, or (at your option) any later version.
10 *
11 */
12
13#ifndef PROTO_MWORKER_H_
14#define PROTO_MWORKER_H_
15
William Lallemande25473c2019-04-01 11:29:56 +020016#include <types/signal.h>
17
William Lallemand48dfbbd2019-04-01 11:29:53 +020018void mworker_proc_list_to_env();
19void mworker_env_to_proc_list();
20
William Lallemand3cd95d22019-04-01 11:29:54 +020021
22void mworker_block_signals();
23void mworker_unblock_signals();
24
Willy Tarreaud26c9f92019-12-11 14:24:07 +010025void mworker_broadcast_signal(struct sig_handler *sh);
William Lallemande25473c2019-04-01 11:29:56 +020026void mworker_catch_sighup(struct sig_handler *sh);
27void mworker_catch_sigterm(struct sig_handler *sh);
28void mworker_catch_sigchld(struct sig_handler *sh);
29
William Lallemand3fa724d2019-04-01 11:29:55 +020030void mworker_accept_wrapper(int fd);
William Lallemand3fa724d2019-04-01 11:29:55 +020031
William Lallemand9001ce82019-04-01 11:29:57 +020032void mworker_cleanlisteners();
33
William Lallemand3f128872019-04-01 11:29:59 +020034int mworker_child_nb();
35
William Lallemand9a1ee7a2019-04-01 11:30:02 +020036int mworker_ext_launch_all();
37
William Lallemand27edc4b2019-05-07 17:49:33 +020038void mworker_kill_max_reloads(int sig);
William Lallemande25473c2019-04-01 11:29:56 +020039
Tim Duesterhus9b7a9762019-05-16 20:23:22 +020040void mworker_free_child(struct mworker_proc *);
41
William Lallemand48dfbbd2019-04-01 11:29:53 +020042#endif /* PROTO_MWORKER_H_ */