aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/virtual_sdcard.py
diff options
context:
space:
mode:
Diffstat (limited to 'klippy/extras/virtual_sdcard.py')
-rw-r--r--klippy/extras/virtual_sdcard.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/klippy/extras/virtual_sdcard.py b/klippy/extras/virtual_sdcard.py
index 4116d2c5..c25bbc78 100644
--- a/klippy/extras/virtual_sdcard.py
+++ b/klippy/extras/virtual_sdcard.py
@@ -146,6 +146,7 @@ class VirtualSD:
self.gcode.respond_error("Unable to seek file")
self.work_timer = None
return self.reactor.NEVER
+ gcode_mutex = self.gcode.get_mutex()
partial_input = ""
lines = []
while not self.must_pause_work:
@@ -170,12 +171,13 @@ class VirtualSD:
lines.reverse()
self.reactor.pause(self.reactor.NOW)
continue
+ # Pause if any other request is pending in the gcode class
+ if gcode_mutex.test():
+ self.reactor.pause(self.reactor.monotonic() + 0.100)
+ continue
# Dispatch command
try:
- res = self.gcode.process_batch([lines[-1]])
- if not res:
- self.reactor.pause(self.reactor.monotonic() + 0.100)
- continue
+ self.gcode.run_script(lines[-1])
except self.gcode.error as e:
break
except: