diff options
| author | Sergey A. Osokin <osa@FreeBSD.org> | 2008-07-22 05:55:18 +0000 |
|---|---|---|
| committer | Sergey A. Osokin <osa@FreeBSD.org> | 2008-07-22 05:55:18 +0000 |
| commit | bffdc23e01bd265d5665c10cf50dffea9953ad12 (patch) | |
| tree | cf72164c96bb6fa32a2d7bc4705f9789d0e9a8d2 /www/nginx-devel/files/nginx.sh.in | |
| parent | Catch up with master 1.598. (diff) | |
[1] Don't remove NGINX_TMPDIR directory, if port upgrade running. (*)
[2] Add extra command upgrade for rc, allowing to change binary
on-the-fly without loosing any single request.
Remove empty string from rc.
Bump PORTREVISION.
[1,2] Problems reported by: Maxim Dounin aka mdounin at mdounin dot ru
PR's: 125762,125766
(*) Undocumented feature from: skv@
Diffstat (limited to 'www/nginx-devel/files/nginx.sh.in')
| -rw-r--r-- | www/nginx-devel/files/nginx.sh.in | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/www/nginx-devel/files/nginx.sh.in b/www/nginx-devel/files/nginx.sh.in index 069eccbd2a5e..80d1f1f724b6 100644 --- a/www/nginx-devel/files/nginx.sh.in +++ b/www/nginx-devel/files/nginx.sh.in @@ -28,6 +28,8 @@ start_precmd="nginx_precmd" restart_precmd="nginx_checkconfig" reload_precmd="nginx_checkconfig" configtest_cmd="nginx_checkconfig" +upgrade_precmd="nginx_checkconfig" +upgrade_cmd="nginx_upgrade" command="%%PREFIX%%/sbin/nginx" _pidprefix="/var/run/nginx" pidfile="${_pidprefix}.pid" @@ -89,6 +91,23 @@ nginx_checkconfig() eval ${command} ${nginx_flags} -t } +nginx_upgrade() +{ + echo "Upgrading nginx binary:" + + reload_precmd="" + sig_reload="USR2" + run_rc_command ${rc_prefix}reload $rc_extra_args || return 1 + + sleep 1 + + echo "Stopping old binary:" + + sig_reload="QUIT" + pidfile="$pidfile.oldbin" + run_rc_command ${rc_prefix}reload $rc_extra_args || return 1 +} + nginx_precmd() { nginx_checkconfig @@ -99,8 +118,7 @@ nginx_precmd() else return 0 fi - } -extra_commands="reload configtest" +extra_commands="reload configtest upgrade" run_rc_command "$1" |
