aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorfeld <feld@FreeBSD.org>2015-02-18 23:09:47 +0800
committerfeld <feld@FreeBSD.org>2015-02-18 23:09:47 +0800
commitf52e4d06e853bf4213f5ad70978f60e0ff4daa96 (patch)
tree7a1f87ec98601243dce85cf1ee1e603afbe85375 /multimedia
parent215d0ff2e9dc642037318d9fa9c13c4f195ef815 (diff)
downloadfreebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.tar.gz
freebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.tar.zst
freebsd-ports-gnome-f52e4d06e853bf4213f5ad70978f60e0ff4daa96.zip
Teach the rc script to clean up leftover children
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/plexmediaserver/Makefile2
-rw-r--r--multimedia/plexmediaserver/files/plexmediaserver.in19
2 files changed, 19 insertions, 2 deletions
diff --git a/multimedia/plexmediaserver/Makefile b/multimedia/plexmediaserver/Makefile
index 7396f6e44fc4..ffb146287c19 100644
--- a/multimedia/plexmediaserver/Makefile
+++ b/multimedia/plexmediaserver/Makefile
@@ -3,7 +3,7 @@
PORTNAME= plexmediaserver
PORTVERSION?= 0.9.11.7.803
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= multimedia
MASTER_SITES= http://downloads.plexapp.com/plex-media-server/${PORTVERSION}-${PLEX_BUILD}/ \
http://nightlies.plexapp.com/directdl/plex-media-server/dist-ninja/${PORTVERSION}-${PLEX_BUILD}/
diff --git a/multimedia/plexmediaserver/files/plexmediaserver.in b/multimedia/plexmediaserver/files/plexmediaserver.in
index fa855560afd6..e11175874482 100644
--- a/multimedia/plexmediaserver/files/plexmediaserver.in
+++ b/multimedia/plexmediaserver/files/plexmediaserver.in
@@ -33,8 +33,10 @@ load_rc_config $name
command=/usr/sbin/daemon
procname="%%DATADIR%%/Plex_Media_Server"
command_args="-f ${procname}"
-start_precmd=plex_precmd
pidfile=/var/run/plex/plex.pid
+start_precmd=plex_precmd
+stop_precmd=plex_stop_precmd
+stop_postcmd=plex_stop_postcmd
plex_precmd()
{
@@ -66,4 +68,19 @@ plex_precmd()
fi
}
+plex_stop_precmd()
+{
+ if [ -r ${pidfile} ]; then
+ export _PLEXPID=$(check_pidfile ${pidfile} ${procname})
+ fi
+}
+
+plex_stop_postcmd()
+{
+ _PLEX_CHILDREN=$(pgrep -g ${_PLEXPID})
+ echo "Cleaning up leftover child processes."
+ kill $sig_stop ${_PLEX_CHILDREN}
+ wait_for_pids ${_PLEX_CHILDREN}
+}
+
run_rc_command "$1"