From bf7d2f4ad7b9d4a17d906848e4de922709e485ca Mon Sep 17 00:00:00 2001 From: csrichter Date: Tue, 2 May 2017 13:09:00 +0200 Subject: [PATCH] added off-switch for mutex-debug --- python/tmc_parser.py | 46 +++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/python/tmc_parser.py b/python/tmc_parser.py index ca532cc..39dd656 100644 --- a/python/tmc_parser.py +++ b/python/tmc_parser.py @@ -253,60 +253,58 @@ class tmc_parser(gr.sync_block): print("symbol not decoded: "+"?%02X?"%ord(char)+"in string:"+return_string) pass return return_string +def print_dbg(message,end="\n"): + dbg=False + if dbg: + print(message,end=end) class tmc_parser_Widget(QtGui.QWidget): + def print_tmc_msg(self,tmc_msg): - print("print:",end="") self.logMutex.acquire(1) - print("got mutex,",end="") + print_dbg("print:got mutex,",end="") sb=self.logOutput.verticalScrollBar() - print(".",end="") + print_dbg(".",end="") oldmax=sb.maximum() - print(".",end="") + print_dbg(".",end="") auto_scroll= abs(oldmax-sb.value())<60#auto_scroll if scrollbar was at max - print(".",end="") - #print("%i %i %r"%(sb.maximum(),sb.value(),auto_scroll)) + print_dbg(".",end="") ef=unicode(self.event_filter.text().toUtf8(), encoding="UTF-8").lower() lf=unicode(self.location_filter.text().toUtf8(), encoding="UTF-8").lower() filters=[{"type":"location", "str":lf},{"type":"event", "str":ef}] if tmc_dict.matchFilter(tmc_msg,filters): - print("a",end="") + print_dbg("a",end="") self.logOutput.append(Qt.QString.fromUtf8(tmc_msg.log_string())) - print("a",end="") + print_dbg("a",end="") self.logOutput.append(Qt.QString.fromUtf8(tmc_msg.multi_str())) - print("a",end="") - #print("new message") + print_dbg("a",end="") if auto_scroll: #sb=self.logOutput.verticalScrollBar() #disabled 2017-04-28 might be cause of double free new_max=sb.maximum() - print("s",end="") + print_dbg("s",end="") sb.setValue(new_max) - print("s",end="") - print("\tdone") - # code.interact(local=locals()) - #print("scrolling %i %i %r"%(oldmax,new_max,sb.value())) - #code.interact(local=locals()) + print_dbg("s",end="") self.logMutex.release(1) + print_dbg("\tdone") def filterChanged(self): - print("filterChanged:",end="") self.logMutex.acquire(1) - print("got mutex,",end="") + print_dbg("filterChanged:got mutex,",end="") ef="" lf="" try: ef=unicode(self.event_filter.text().toUtf8(), encoding="UTF-8").lower() lf=unicode(self.location_filter.text().toUtf8(), encoding="UTF-8").lower() except Exception as e: - print(e) - print("error getting filter strings") + print_dbg(e) + print_dbg("error getting filter strings") code.interact(local=locals()) - print("read filters,",end="") + print_dbg("read filters,",end="") self.logOutput.clear() - print("cleared,",end="") + print_dbg("cleared,",end="") filters=[{"type":"location", "str":lf},{"type":"event", "str":ef}] self.logOutput.append(Qt.QString.fromUtf8(self.parser.tmc_messages.getLogString(filters))) - print("appended,",end="") + print_dbg("appended,",end="") self.logMutex.release(1) - print("done") + print_dbg("done") def __init__(self, parser,maxheight): QtGui.QWidget.__init__(self) layout = Qt.QVBoxLayout()