#!/bin/sh
#
# $FreeBSD: tags/RELEASE_12_0_0/lang/php72/files/php-fpm.in 444558 2017-06-28 09:40:58Z tz $
#

# PROVIDE: php-fpm
# REQUIRE: LOGIN
# KEYWORD: shutdown

#
# Add the following line to /etc/rc.conf to enable php-fpm:
# php_fpm_enable="YES"
#

. /etc/rc.subr

PHP_VER=53
PID=/var/run/php-fpm${PHP_VER}.pid
CONF=/usr/local/php${PHP_VER}/etc/php-fpm.conf
name="php_fpm${PHP_VER}"
rcvar=php_fpm_enable

start_precmd="php_fpm_prestart"
restart_precmd="php_fpm_checkconfig"
reload_precmd="php_fpm_checkconfig"
configtest_cmd="php_fpm_checkconfig"
graceful_precmd="php_fpm_checkconfig"
graceful_cmd="php_fpm_graceful"

load_rc_config "$name"

: ${php_fpm_enable="YES"}
: ${php_fpm_umask=""}

extra_commands="reload configtest logrotate graceful"

command="/usr/local/php${PHP_VER}/sbin/php-fpm${PHP_VER}"
command_args="--daemonize --pid=${PID} --fpm-config $CONF"
pidfile="/var/run/php-fpm${PHP_VER}.pid"
sig_stop="QUIT"
sig_reload="USR2"
logrotate_cmd="php_fpm_logrotate"

required_files="/usr/local/php${PHP_VER}/etc/php-fpm.conf"

php_fpm_logrotate() {
        if [ -z "$rc_pid" ]; then
                _run_rc_notrunning
                return 1
        fi
        echo "Rotating logs $name."
        kill -USR1 $rc_pid
}

php_fpm_checkconfig()
{
        echo "Performing sanity check on php-fpm configuration:"
        eval ${command} -t
}

php_fpm_prestart()
{
	ulimit -HSn 32768
	php_fpm_checkconfig
	checkconfig=$?
	if [ $checkconfig -ne 0  ]; then
		return $checkconfig
	fi

	if [ ! -z "$php_fpm_umask"  ]; then
		echo "Setting umask to: ${php_fpm_umask}"
		umask $php_fpm_umask
	fi
}

php_fpm_graceful() {
	if [ -z "$rc_pid" ]; then
		_run_rc_notrunning
		return 1
	fi
	echo "Graceful restart $name."
	kill -USR2 $rc_pid
}


run_rc_command "$1"
