def METHOD_NAME(self):
    self.s.poll()
    while self.s.exec_state != linuxcnc.EXEC_DONE or self.s.state != linuxcnc.RCS_DONE and self.s.task_state == linuxcnc.STATE_ON:
        sleep(.25)
        self.s.poll()
        if self.s.task_state != linuxcnc.STATE_ON:
            return False
        if self.check_rcs_error():
            print("Found RCS error while waiting, running again")
            self.run_full_program()
    return True