#!/bin/sh

# stop/continue processes using sound devices.

set -e

[ -e /etc/default/alsa ] && . /etc/default/alsa

if [ "$force_stop_modules_before_suspend" != "true" ]; then
    exit 0
fi

devices=$(find /dev -type c | xargs stat -c '%t %n' | sed -n 's/^e //p; s/^74 //p')
if [ "$1" = suspend ]; then
    if [ -d /proc/asound ]; then
	fuser -k -STOP $devices || :
	sleep 1
	/etc/init.d/alsa force-stop
    fi
elif [ "$1" = resume ]; then
    if [ -d /proc/asound ]; then
	fuser -k -CONT $devices || :
    fi
fi

