나는 Firewire 믹싱 콘솔을 가지고 있으며 콘솔이 열리면 전체 오디오 체인(alsa ->pulseaudio ->jackd ->firewire)을 설정하는 스크립트를 호출하는 udev 규칙을 작성했습니다.
jackd
이제 시작했지만 몇 초 후에 사라지는 것을 알았습니다 . 출력을 캡처했는데 오류 메시지가 포함되어 있습니다. 테스트하기 위해 udev 이벤트를 위조했고 udevadm trigger
모든 것이 잘 작동했습니다.
이로 인해 (실제) udev 이벤트 발생과 장치가 실제로 준비되는 사이에는 약간의 시간이 있다고 믿게 되었습니다. 내 가짜 udev 이벤트에는 콘솔이 열려 있고 /dev/fw1이 항상 존재하고 준비되어 있기 때문에 이 문제가 없습니다.
실제로 sleep 2
스크립트에 를 추가하면 문제가 해결되었지만 이 솔루션은 만족스럽지 않습니다. 부하가 심한 경우 3~4초가 걸릴 수 있으므로 깨지기 쉬워 보입니다. 그리고 나에게 너무 관대해서 sleep
불필요한 지연이 많이 발생했습니다.
그렇다면 장치가 실제로 언제 준비되었는지 알 수 있는 방법이 있나요?