#include <forb/config.h>
#include "iop.h"
#include <ul_log.h>
+#include "discovery.h"
extern UL_LOG_CUST(ulogd_forb_port);
pthread_join(port->discovery_thread.pthread_id, &thread_return);
#endif
+ /* Because of no locking of port->peers, this must be called
+ * after receiver thread is stopped. */
+ forb_peer_t *peer;
+ ul_list_for_each_cut(forb_port_peer, port, peer) {
+ forb_peer_get(peer);
+ forb_peer_disconnected(peer);
+ forb_peer_put(peer);
+ }
+
if (port->desc.proto->port_destroy) {
port->desc.proto->port_destroy(port);
}
- /* Because of no locking of port->peers, this must be called
- * after receiver thread is stopped. */
- forb_peer_delete_by_port(forb, port);
-
FORB_CDR_codec_release_buffer(&port->codec);
fosa_mutex_lock(&forb->port_mutex);