view hglib/error.py @ 168:d71bd813c9d7

client: use subprocess.communicate() to shut down server process This allows us to get stderr output with no deadlock risk. Also, it should fix possible deadlock issue at server.wait(). https://docs.python.org/2.7/library/subprocess.html#subprocess.Popen.wait
author Yuya Nishihara <yuya@tcha.org>
date Mon, 07 Sep 2015 22:32:12 +0900
parents 59cb26bf866e
children
line wrap: on
line source

class CommandError(Exception):
    def __init__(self, args, ret, out, err):
        self.args = args
        self.ret = ret
        self.out = out
        self.err = err

    def __str__(self):
        return str((self.ret, self.out.rstrip(), self.err.rstrip()))

class ServerError(Exception):
    pass

class ResponseError(ServerError, ValueError):
    pass

class CapabilityError(ServerError):
    pass