Mercurial > hgrepos > FreeBSD > ports > www > uwsginl
changeset 92:5fe04368731a
Properly handle "uwsginl_procname".
Works now with an empty procname and when procname is set to one word.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Tue, 16 Jun 2020 09:19:27 +0200 |
| parents | aacfdd48b76a |
| children | c2215874f6a2 |
| files | uwsginl/files/uwsginl.in |
| diffstat | 1 files changed, 17 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/uwsginl/files/uwsginl.in Tue Jun 16 09:07:27 2020 +0200 +++ b/uwsginl/files/uwsginl.in Tue Jun 16 09:19:27 2020 +0200 @@ -26,6 +26,10 @@ # Default is uwsgi. # uwsginl_flags (str): Set the uwsgi command line arguments # Default is "--disable-logging". +# uwsginl_procname (str): Set the procname. On FreeBSD this should +# be exactly one word; otherwise stopping does +# not work. +# Default is empty (""). # # If you would like to have multiple uWSGI instances running, you can # define multiple profiles: @@ -55,6 +59,7 @@ : ${uwsginl_flags="--disable-logging"} : ${uwsginl_emperor:="NO"} : ${uwsginl_vassals_dir:="%%PREFIX%%/etc/uwsginl/vassals"} +: ${uwsginl_procname=""} is_uwsginl_profile() { local profile @@ -107,6 +112,7 @@ eval uwsginl_flags=\${uwsginl_${profile}_flags-"${uwsginl_flags}"} eval uwsginl_emperor=\${uwsginl_${profile}_emperor:-"${uwsginl_emperor}"} eval uwsginl_vassals_dir=\${uwsginl_${profile}_vassals_dir:-"%%PREFIX%%/etc/uwsginl/vassals-${profile}/"} + eval uwsginl_procname=\${uwsginl_${profile}_procname:-""} elif [ -n "$1" ]; then for profile in ${uwsginl_profiles}; do echo "Processing ${name} profile: ${profile}" @@ -116,14 +122,14 @@ fi fi -pidfile=${uwsginl_pidfile} +pidfile="${uwsginl_pidfile}" start_precmd=start_precmd stop_postcmd=stop_postcmd reload_precmd=reload_precmd brutalreload_cmd=brutalreload_cmd sig_stop="QUIT" extra_commands="reload brutalreload" -procname=${uwsginl_procname} +procname="${uwsginl_procname}" start_precmd() { @@ -132,21 +138,28 @@ required_dirs=${uwsginl_vassals_dir} rc_flags="--emperor-pidfile ${uwsginl_pidfile} --daemonize ${uwsginl_logfile} --emperor ${uwsginl_vassals_dir}" rc_flags=${rc_flags}" --vassals-set uid=${uwsginl_uid} --vassals-set gid=${uwsginl_gid}" + if [ -n "${uwsginl_procname}" ]; then + rc_flags=${rc_flags}" --emperor-procname \"${uwsginl_procname}\"" + fi else rc_flags="--master --uid ${uwsginl_uid} --gid ${uwsginl_gid} --pidfile ${uwsginl_pidfile} --daemonize ${uwsginl_logfile}" + if [ -n "${uwsginl_procname}" ]; then + rc_flags=${rc_flags}" --procname-master \"${uwsginl_procname}\"" + fi + fi rc_flags=${rc_flags}" ${uwsginl_flags}" # put the configfile last so that all given options can be overwritten - if [ -e ${uwsginl_configfile} ]; then + if [ -e "${uwsginl_configfile}" ]; then rc_flags=${rc_flags}" --$(get_config_filetype "${uwsginl_configfile}") ${uwsginl_configfile}" fi } stop_postcmd() { - rm -f ${uwsginl_pidfile} + rm -f "${uwsginl_pidfile}" } reload_precmd()
