From f3c9f5894a41bd306eb51b28ef99e82e4ee68217 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 13 Jan 2016 17:03:44 -0500 Subject: lots more DEBUG_TRACE statements for analysing malfunctioning system --- libs/pbd/pbd/abstract_ui.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libs/pbd/pbd/abstract_ui.cc b/libs/pbd/pbd/abstract_ui.cc index 116a827452..e648736621 100644 --- a/libs/pbd/pbd/abstract_ui.cc +++ b/libs/pbd/pbd/abstract_ui.cc @@ -18,6 +18,7 @@ #include #include +#include #include "pbd/stacktrace.h" #include "pbd/abstract_ui.h" @@ -194,6 +195,8 @@ AbstractUI::handle_ui_requests () request_buffer_map_lock.lock (); + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1 check %2 request buffers for requests\n", event_loop_name(), request_buffers.size())); + for (i = request_buffers.begin(); i != request_buffers.end(); ++i) { while (true) { @@ -210,16 +213,25 @@ AbstractUI::handle_ui_requests () i->second->get_read_vector (&vec); + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("$1 reading requests from RB[%2], requests = %3 + %4\n", event_loop_name(), std::distance (request_buffers.begin(), i), vec.len[0], vec.len[1])); + if (vec.len[0] == 0) { break; } else { if (vec.buf[0]->valid) { + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: valid request, unlocking before calling\n", event_loop_name())); request_buffer_map_lock.unlock (); + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: valid request, calling ::do_request()\n", event_loop_name())); do_request (vec.buf[0]); request_buffer_map_lock.lock (); if (vec.buf[0]->invalidation) { + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: removing invalidation record for that request\n", event_loop_name())); vec.buf[0]->invalidation->requests.remove (vec.buf[0]); + } else { + DEBUG_TRACE (PBD::DEBUG::AbstractUI, string_compose ("%1: no invalidation record for that request\n", event_loop_name())); } + } else { + DEBUG_TRACE (PBD::DEBUG::AbstractUI, "invalid request, ignoring\n"); } i->second->increment_read_ptr (1); } -- cgit v1.2.3