The issue
In https://github.com/yobert/alsa/blob/master/device.go#L107, the os.OpenFile call does not have a syscall.O_NONBLOCK flag. I suspect this is causing the beep example on my pure ALSA setup to block. (I've tested and nailed it down to the Open() method). This does not happen with PulseAudio.
Proposal:
Add syscall.O_NONBLOCK like so:
device.fh, err = os.OpenFile(device.Path, os.O_RDWR | syscall.O_NONBLOCK, 0755)
The issue
In https://github.com/yobert/alsa/blob/master/device.go#L107, the
os.OpenFilecall does not have asyscall.O_NONBLOCKflag. I suspect this is causing thebeepexample on my pure ALSA setup to block. (I've tested and nailed it down to theOpen()method). This does not happen with PulseAudio.Proposal:
Add
syscall.O_NONBLOCKlike so: