{
/* caller must hold process lock */
- cerr << "about to unregister Port xx x" << &port << "\n";
-
if (!_running) {
/* probably happening when the engine has been halted by JACK,
in which case, there is nothing we can do here.
*/
- cerr << "not running\n";
return 0;
}
{
- cerr << "before getcopy\n";
-
RCUWriter<Ports> writer (ports);
boost::shared_ptr<Ports> ps = writer.get_copy ();
- cerr << "Ports set size: " << ps.get()->size() << endl;
-
for (Ports::iterator i = ps->begin(); i != ps->end(); ++i) {
- cerr << "before delete" << endl;
if ((*i) == &port) {
- cerr << "About to delete " << &port << endl;
delete *i;
ps->erase (i);
- cerr << "After erasing ports size: " << ps->size();
break;
}
}
/* writer goes out of scope, forces update */
}
- cerr << "before remove_connections\n";
remove_connections_for (port);
return 0;