diff --git a/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon.initd b/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon.initd index f8ec517967042..e67b9843c25d7 100644 --- a/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon.initd +++ b/x11-apps/radeon-profile-daemon/files/radeon-profile-daemon.initd @@ -8,6 +8,20 @@ command="/usr/sbin/radeon-profile-daemon" command_background="true" pidfile="/run/${SVCNAME}.pid" -start_post() { - chgrp video /tmp/radeon-profile-daemon-server +radeon_socket="/tmp/radeon-profile-daemon-server" + +wait_for_socket() { + local i=0 + while [ ${i} -lt 10 ]; do + [ -S "${radeon_socket}" ] && return 0 + i=$((${i}+1)) + sleep 1s + done + + return 1 +} + +start_post() { + wait_for_socket || return 1 + chgrp video ${radeon_socket} }