new scheme for managing port deletion
authorPaul Davis <paul@linuxaudiosystems.com>
Thu, 13 Oct 2016 21:18:42 +0000 (17:18 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 13 Oct 2016 21:18:54 +0000 (17:18 -0400)
commit8f9a9523d2161ee15975f5f9136ef80d4bfbf3e2
treefa82656ffa02c7e9d8a959803f501ab95fcbd482
parent1552547f650a82487ac72615c8533fd25b4ffc39
new scheme for managing port deletion

shared_ptr<Port> now uses a deleter functor which pushes Port* to a lock-free FIFO so that the Port is
always deleted (and thus unregistered with the PortEngine/backend) in a safe context w.r.t. various
callbacks in the host. Currently the auto_connect_thread in Session has been tasked with doing these
deletions.
libs/ardour/ardour/audioengine.h
libs/ardour/ardour/port_manager.h
libs/ardour/ardour/session.h
libs/ardour/audioengine.cc
libs/ardour/midi_port.cc
libs/ardour/port_manager.cc
libs/ardour/session.cc