# # # patch "monotone.py" # from [37a91b8934405b0a9f4776472710379b4992e892] # to [f0be3cccea21a81d51ff8212aaea781b6316c550] # ============================================================ --- monotone.py 37a91b8934405b0a9f4776472710379b4992e892 +++ monotone.py f0be3cccea21a81d51ff8212aaea781b6316c550 @@ -39,16 +39,17 @@ def __init__(self, base_command): self.command = "%s automate stdio" % (base_command) self.process = None + self.debug = False def __del__(self): self.stop() self.process = None def start(self): self.process = popen2.Popen3(self.command) set_nonblocking(self.process.fromchild) - syslog.syslog("AUTOMATE; %s starting %s" % (os.getpid(), self.process.pid)) + if self.debug: syslog.syslog("AUTOMATE; %s starting %s" % (os.getpid(), self.process.pid)) def stop(self): if not self.process: return - syslog.syslog("AUTOMATE: %s stopping %s" % (os.getpid(), self.process.pid)) + if self.debug: syslog.syslog("AUTOMATE: %s stopping %s" % (os.getpid(), self.process.pid)) try: self.process.tochild.close() self.process.fromchild.close() @@ -57,14 +58,16 @@ os.kill(self.process.pid, signal.SIGKILL) self.process.wait() except: - syslog.syslog("AUTOMATE: %s failed_to_stop %s" % (os.getpid(), self.process.pid)) + if self.debug: syslog.syslog("AUTOMATE: %s failed_to_stop %s" % (os.getpid(), self.process.pid)) pass def run(self, command, args): if self.process == None: self.start() - syslog.syslog("AUTOMATE: %s run_via %s %s %s" % (os.getpid(), self.process.pid, str(command), str(args))) + if self.debug: + syslog.syslog("AUTOMATE: %s run_via %s %s %s" % (os.getpid(), self.process.pid, str(command), str(args))) enc = "l%d:%s" % (len(command), command) enc += ''.join(map(lambda x: "%d:%s" % (len(x), x), args)) + 'e' - syslog.syslog("AUTOMATE: %s run_via_send %s %s %s" % (os.getpid(), self.process.pid, str(command), enc)) + if self.debug: + syslog.syslog("AUTOMATE: %s run_via_send %s %s %s" % (os.getpid(), self.process.pid, str(command), enc)) # note that fromchild is nonblocking, but tochild is blocking self.process.tochild.write(enc) self.process.tochild.flush() @@ -73,14 +76,16 @@ result_string = "" result_code = None while not complete: - syslog.syslog("AUTOMATE: %s run_via_select %s" % (os.getpid(), self.process.pid)) + if self.debug: + syslog.syslog("AUTOMATE: %s run_via_select %s" % (os.getpid(), self.process.pid)) ro, rw, re = select.select([self.process.fromchild], [], [], None) if not ro and not rw and not re: break if self.process.fromchild in ro: recv = self.process.fromchild.read() if recv == "": break - syslog.syslog("AUTOMATE: %s run_via_recv %s %s %s" % (os.getpid(), self.process.pid, str(command), recv)) + if self.debug: + syslog.syslog("AUTOMATE: %s run_via_recv %s %s %s" % (os.getpid(), self.process.pid, str(command), recv)) data_to_parse = recv while not complete: