aboutsummaryrefslogblamecommitdiffstats
path: root/src/ranch.appup
blob: 86300704ceb963d820b1682976b03855c05182ae (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11










                                                             
         
                                   
                                                         

                                              
                                                          
                                         

                                                                             
                                                          
                                            

                                                         

                                                  

                                                             
                                         
                                                
                                         

                                                           

                                   
                                                         

                                              
                                                          
                                         

                                                                             
                                                          
                                            

                                                         

                                                  

                                                             
                                         
                                                
                                         

                                                           

           
%% 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, []}}
	]}]
}.