On 2017-08-29 13:31, Thomas Brand wrote:
If It plays forever now that's indeed strange.
Can you describe the sound? Is it "normal", like a song that just
continues normally or more like crackle, arbitrary buffer data? Where does
that data come from if the client is dead? Where do the clients get their
data to put to jack? Do you see any remains of a dead client in the
system?
Correct me if I'm wrong: jack_client has a process callback that it
registers with jackd, which invokes it and expects a 0 status code
indicating that it should continue playing the buffers, right? I mean,
that data structure resides (or at least exists) in jackd's program
space, right?
Could it be that if jackd misses the client's disconnect, it keeps
invoking that callback, but because the client isn't there any more, the
status code automatically stays 0 and hence it carries on rendering and
re-rendering that buffer indefinitely?
If that's the case, it might have been a better idea to use non-zero
status codes to indicate continue; although it's likely too late to
change that.
M.