mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			46 lines
		
	
	
		
			896 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			46 lines
		
	
	
		
			896 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| 
 | |
| NAME="rngd"
 | |
| DAEMON="/usr/sbin/${NAME}"
 | |
| DAEMON_ARGS="-r /dev/urandom"
 | |
| CFG_FILE="/etc/default/${NAME}"
 | |
| PID_FILE="/var/run/${NAME}.pid"
 | |
| 
 | |
| # Read configuration variable file if it is present
 | |
| [ -r "${CFG_FILE}" ] && . "${CFG_FILE}"
 | |
| 
 | |
| start() {
 | |
| 	printf "Starting ${NAME}: "
 | |
| 	start-stop-daemon -S -q -x "${DAEMON}" -- ${DAEMON_ARGS}
 | |
| 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 | |
| }
 | |
| 
 | |
| stop() {
 | |
| 	printf "Stopping ${NAME}: "
 | |
| 	# This daemon does not exit properly with the default TERM signal unless
 | |
| 	# it's forced to work by something reading /dev/random. Killing it and
 | |
| 	# removing its PID file is more straightforward.
 | |
| 	if start-stop-daemon -K -q -s KILL -p "${PID_FILE}" -n "${NAME}"; then
 | |
| 		rm -f "${PID_FILE}"
 | |
| 		echo "OK"
 | |
| 	else
 | |
| 		echo "FAIL"
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| case "$1" in
 | |
| 	start|stop)
 | |
| 		"$1"
 | |
| 		;;
 | |
| 
 | |
| 	restart|reload)
 | |
| 		stop
 | |
| 		start
 | |
| 		;;
 | |
| 
 | |
| 	*)
 | |
| 		echo "Usage: $0 {start|stop|restart|reload}" >&2
 | |
| 		exit 1
 | |
| 		;;
 | |
| esac
 |