A quick question about threads. If one of my threads is blocking while reading
from disk, does this affect other threads in the same application (on
some/all systems supported by SDL)?
I expected this thread to block and leave the CPU to the remaining threads,
which is why I put my music manager in a separate thread: A few times each
second, it tests whether I have to stream new audio data from the disk and
does so if necessary. The idea was to minimise interruptions caused by music
streaming, but recently the streaming part is causing noticeable delays -
mostly on Windows systems, I’m told, where it also affects audio quality;
audio plays fine on my Linux box however.
Note that I use OpenAL for audio output, so that part is unrelated to SDL. And
I expect that my actual problem lies with that part anyway. But I thought I’d
better clear the blocking issue here before heading over to the OpenAL
Hofstadter’s law: “It always takes longer than you think, even when you take
account of Hofstadter’s law”.