From 5ebe8ce0259443b4f5924ed019b305627f73bc7c Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Wed, 30 Nov 2016 19:05:25 -0500 Subject: gcode: Don't dump the message log directly from set_printer_ready() The set_printer_ready() method can be called from a background thread. Have the main Printer class call a new dump_debug() method in the main thread on a shutdown event. Signed-off-by: Kevin O'Connor --- klippy/gcode.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'klippy/gcode.py') diff --git a/klippy/gcode.py b/klippy/gcode.py index ff7e2443..d607a0cc 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -72,12 +72,11 @@ class GCodeParser: self.build_handlers() if is_ready and self.is_fileinput and self.fd_handle is None: self.fd_handle = self.reactor.register_fd(self.fd, self.process_data) - if not is_ready: - logging.info("Dumping gcode input %d blocks" % ( - len(self.input_log),)) - # XXX - read from self.input_log is not thread safe - for eventtime, data in self.input_log: - logging.info("Read %f: %s" % (eventtime, repr(data))) + def dump_debug(self): + logging.info("Dumping gcode input %d blocks" % ( + len(self.input_log),)) + for eventtime, data in self.input_log: + logging.info("Read %f: %s" % (eventtime, repr(data))) # Parse input into commands args_r = re.compile('([a-zA-Z*])') def process_commands(self, eventtime): -- cgit v1.2.3-70-g09d2