aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch.appup
blob: 86300704ceb963d820b1682976b03855c05182ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
%% ranch_conns_sup is a custom supervisor (special process),
%% not an OTP supervisor. When "supervisor" is used, the
%% module is always loaded before calling system_code_change,
%% for both upgrade and downgrade operations. This is so that
%% the supervisor's init callback of the upgraded/downgraded
%% module gets called. But the custom supervisors in Ranch
%% do not have an init callback and therefore can function
%% like other special processes: when upgrading, load the
%% module then call system_code_change; and when downgrading,
%% call system_code_change and then load the module.

{"2.0.0",
	[{<<"2\\.0\\.[0-9]+.*">>, [
		{apply, {ranch, stop_all_acceptors, []}},
		{load_module, ranch},
		{load_module, ranch_acceptor},
		{update, ranch_acceptors_sup, supervisor},
		{load_module, ranch_app},
		%% See comments at the top of the file about ranch_conns_sup.
		{update, ranch_conns_sup, {advanced, []}},
		{update, ranch_conns_sup_sup, supervisor},
		{load_module, ranch_crc32c},
		{update, ranch_embedded_sup, supervisor},
		{update, ranch_listener_sup, supervisor},
		{load_module, ranch_protocol},
		{load_module, ranch_proxy_header},
		{update, ranch_server, {advanced, []}},
		{update, ranch_server_proxy, {advanced, []}},
		{load_module, ranch_ssl},
		{update, ranch_sup, supervisor},
		{load_module, ranch_tcp},
		{load_module, ranch_transport},
		{apply, {ranch, restart_all_acceptors, []}}
	]}],
	[{<<"2\\.0\\.[0-9]+.*">>, [
		{apply, {ranch, stop_all_acceptors, []}},
		{load_module, ranch},
		{load_module, ranch_acceptor},
		{update, ranch_acceptors_sup, supervisor},
		{load_module, ranch_app},
		%% See comments at the top of the file about ranch_conns_sup.
		{update, ranch_conns_sup, {advanced, []}},
		{update, ranch_conns_sup_sup, supervisor},
		{load_module, ranch_crc32c},
		{update, ranch_embedded_sup, supervisor},
		{update, ranch_listener_sup, supervisor},
		{load_module, ranch_protocol},
		{load_module, ranch_proxy_header},
		{update, ranch_server, {advanced, []}},
		{update, ranch_server_proxy, {advanced, []}},
		{load_module, ranch_ssl},
		{update, ranch_sup, supervisor},
		{load_module, ranch_tcp},
		{load_module, ranch_transport},
		{apply, {ranch, restart_all_acceptors, []}}
	]}]
}.