#!/bin/ksh
#
# $OpenBSD: gdm.rc,v 1.46 2021/02/19 17:22:29 ajacoutot Exp $

daemon="/usr/local/sbin/gdm"

. /etc/rc.d/rc.subr

rc_bg=YES
rc_reload=NO

rc_pre() {
	# XXX OpenBSD needs an implementation of XDG_RUNTIME_DIR
	rm -rf /var/db/gdm/.cache/gnome-shell/runtime-state-*
}

rc_stop() {
	pkill -9 -xf "${pexp}"
	pkill -f gdm-session-worker
	pkill -u _x11 -f "^/usr/X11R6/bin/X.*/var/run/gdm"
	# _gdm owned processed may already be gone... or not
	pkill -u _gdm || return 0
}

# /etc/X11/xenodm/TakeConsole, fbtab(5)
rc_post() {
	if [[ -c /dev/dri/card0 ]]; then
		chown root /dev/dri/card0
	fi
	if [[ -c /dev/dri/renderD128 ]]; then
		chown root /dev/dri/renderD128
	fi
	# XXX OpenBSD needs an implementation of XDG_RUNTIME_DIR
	rm -rf /var/db/gdm/.cache/gnome-shell/runtime-state-*
}

rc_cmd $1
