On Sat, Jan 31, 2004 at 01:51:48PM -0500, Dave
Robillard wrote:
> --- jackd/engine.c 13 Jan 2004 15:11:27
-0000 1.80
> +++ jackd/engine.c 31 Jan 2004 01:07:26 -0000
> @@ -1503,6 +1503,7 @@
> for (node = client->ports; node; node = jack_slist_next (node)) {
> port = (jack_port_internal_t *) node->data;
> jack_port_clear_connections (engine, port);
> + jack_port_registration_notify (engine, port->shared->id, F
ALSE);
jack_port_release (engine, port);
}
Yep, that calls it. Maybe it wasn't there before because apps are
expected to deregister their ports before exiting? (None I've tested
actually do).
I don't see any problems having jack do it for clients though.. if the
client actually does deregister its ports before disconnecting, they
won't be around anymore (ie won't get double freed).
The only thing I added was the notification to the other clients that the
ports were being deregistered. It always happend before.
We need a comment from the Benevolent Dictator as to wether this is a good
idea.
approved. it was just a thinko to not put this in before, rather than
a design feature. however, it does need to be tested to ensure it
doesn't cause "system wide" effects at client shutdown. if a couple
more people could test out steve's one line patch and report
themselves free of any problems, we can apply it.
--p