summaryrefslogtreecommitdiffstats
path: root/src/usr/local/sbin/pfSense-upgrade
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2015-12-10 08:45:46 -0200
committerRenato Botelho <renato@netgate.com>2015-12-10 12:20:56 -0200
commit48ef563059bb973a8bddc394d1f61e2b9c15db42 (patch)
treefe0f102a4fdc7c5caefd2c424958c7c36aa08779 /src/usr/local/sbin/pfSense-upgrade
parentff59b884963ef2a5aaee50c00a286ddd66fa409d (diff)
downloadpfsense-48ef563059bb973a8bddc394d1f61e2b9c15db42.zip
pfsense-48ef563059bb973a8bddc394d1f61e2b9c15db42.tar.gz
Track nc PID and kill it on _exit()
Diffstat (limited to 'src/usr/local/sbin/pfSense-upgrade')
-rwxr-xr-xsrc/usr/local/sbin/pfSense-upgrade9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/usr/local/sbin/pfSense-upgrade b/src/usr/local/sbin/pfSense-upgrade
index b4a34b8..fb20eec 100755
--- a/src/usr/local/sbin/pfSense-upgrade
+++ b/src/usr/local/sbin/pfSense-upgrade
@@ -140,6 +140,10 @@ _exit() {
/etc/rc.conf_mount_ro
fi
+ if [ -n "${nc_pid}" ] && ps -p ${nc_pid} >/dev/null 2>&1; then
+ kill ${nc_pid}
+ fi
+
local _rc=${1:-"0"}
# If EVENT_PIPE is defined, GUI is calling
@@ -160,6 +164,7 @@ pkg_with_pb() {
_event_pipe="-o EVENT_PIPE=${progress_socket}"
nc -lU ${progress_socket} >> ${progress_file} &
+ nc_pid=$!
while [ ! -e "${progress_socket}" ]; do
sleep 0.1
@@ -167,6 +172,7 @@ pkg_with_pb() {
fi
pkg ${_event_pipe} $@
+ nc_pid=""
return $?
}
@@ -695,6 +701,9 @@ fi
export pkg_chroot=""
export chroot_dir=""
+# Save nc_pid to be able to kill it
+export nc_pid=""
+
unset dry_run
unset dont_reboot
unset booting
OpenPOWER on IntegriCloud