base-files: use restart if no reload hook for service
This was also working before, with a slightly
different semantic.
[ Original semantic ]
If no reload hooks was implemented, the default one would
kick in, it would return fail, and restart would happen.
This would happen also in the case where a reload hook
would be implemented, it would fail, and it would restart
the service.
[ New semantic ]
The default reload hook calls restart.
Services can implement their own reload.
If reload fails, then the '/etc/init.d/<service> reload'
would return a non-zero code, and the caller can choose
a way to handle this.
Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
(cherry picked from commit 6713694fe4)
			
			
This commit is contained in:
		
				
					committed by
					
						
						Jo-Philipp Wich
					
				
			
			
				
	
			
			
			
						parent
						
							9b24d99b91
						
					
				
				
					commit
					38ea91ea9a
				
			@@ -17,7 +17,7 @@ stop() {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
reload() {
 | 
					reload() {
 | 
				
			||||||
	return 1
 | 
						restart
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
restart() {
 | 
					restart() {
 | 
				
			||||||
@@ -68,7 +68,7 @@ Available commands:
 | 
				
			|||||||
	start	Start the service
 | 
						start	Start the service
 | 
				
			||||||
	stop	Stop the service
 | 
						stop	Stop the service
 | 
				
			||||||
	restart	Restart the service
 | 
						restart	Restart the service
 | 
				
			||||||
	reload	Reload configuration files (or restart if that fails)
 | 
						reload	Reload configuration files (or restart if service does not implement reload)
 | 
				
			||||||
	enable	Enable service autostart
 | 
						enable	Enable service autostart
 | 
				
			||||||
	disable	Disable service autostart
 | 
						disable	Disable service autostart
 | 
				
			||||||
$EXTRA_HELP
 | 
					$EXTRA_HELP
 | 
				
			||||||
@@ -130,7 +130,7 @@ ${INIT_TRACE:+set -x}
 | 
				
			|||||||
		if eval "type reload_service" 2>/dev/null >/dev/null; then
 | 
							if eval "type reload_service" 2>/dev/null >/dev/null; then
 | 
				
			||||||
			reload_service "$@"
 | 
								reload_service "$@"
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			start
 | 
								restart
 | 
				
			||||||
		fi
 | 
							fi
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -141,5 +141,4 @@ ${INIT_TRACE:+set -x}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
 | 
					ALL_COMMANDS="start stop reload restart boot shutdown enable disable enabled depends ${EXTRA_COMMANDS}"
 | 
				
			||||||
list_contains ALL_COMMANDS "$action" || action=help
 | 
					list_contains ALL_COMMANDS "$action" || action=help
 | 
				
			||||||
[ "$action" = "reload" ] && action='eval reload "$@" || restart "$@" && :'
 | 
					 | 
				
			||||||
$action "$@"
 | 
					$action "$@"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user