libreoffice: kill private dbus instance on exit
if the libreoffice wrapper doesn't find a dbus instance in the environment it starts one, but then neglects to clean it up. over time this can litter the system with orphaned dbus instances. kill the daemon as well instead of just removing the socket directory.
This commit is contained in:
parent
842f900e73
commit
df6c714d82
@ -2,7 +2,7 @@
|
||||
export JAVA_HOME="${JAVA_HOME:-@jdk@}"
|
||||
#export SAL_USE_VCLPLUGIN="${SAL_USE_VCLPLUGIN:-gen}"
|
||||
|
||||
if uname | grep Linux > /dev/null &&
|
||||
if uname | grep Linux > /dev/null &&
|
||||
! ( test -n "$DBUS_SESSION_BUS_ADDRESS" ); then
|
||||
dbus_tmp_dir="/run/user/$(id -u)/libreoffice-dbus"
|
||||
if ! test -d "$dbus_tmp_dir" && test -d "/run"; then
|
||||
@ -14,6 +14,7 @@ if uname | grep Linux > /dev/null &&
|
||||
fi
|
||||
dbus_socket_dir="$(mktemp -d -p "$dbus_tmp_dir")"
|
||||
"@dbus@"/bin/dbus-daemon --nopidfile --nofork --config-file "@dbus@"/share/dbus-1/session.conf --address "unix:path=$dbus_socket_dir/session" &> /dev/null &
|
||||
dbus_pid=$!
|
||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=$dbus_socket_dir/session"
|
||||
fi
|
||||
|
||||
@ -27,5 +28,5 @@ done
|
||||
"@libreoffice@/bin/$(basename "$0")" "$@"
|
||||
code="$?"
|
||||
|
||||
test -n "$dbus_socket_dir" && rm -rf "$dbus_socket_dir"
|
||||
test -n "$dbus_socket_dir" && { rm -rf "$dbus_socket_dir"; kill $dbus_pid; }
|
||||
exit "$code"
|
||||
|
Loading…
Reference in New Issue
Block a user