| Index: third_party/buildbot_slave_8_4/README.chromium
|
| diff --git a/third_party/buildbot_slave_8_4/README.chromium b/third_party/buildbot_slave_8_4/README.chromium
|
| index de91dc1d6e032631620981010d3c8d762d28409c..91eee6726c755fd22f9ac7f6fa44857a39d91a27 100644
|
| --- a/third_party/buildbot_slave_8_4/README.chromium
|
| +++ b/third_party/buildbot_slave_8_4/README.chromium
|
| @@ -80,3 +80,36 @@ index 75d6cc4..6a96b03 100644
|
| + # never called. In testing mode, Reboot() returns immediately
|
| + # with no effect, and we need to recover.
|
| self.failed(RuntimeError("SIGKILL failed to kill process"))
|
| +
|
| +diff --git a/third_party/buildbot_slave_8_4/buildslave/runprocess.py b/third_party/buildbot_slave_8_4/buildslave/runprocess.py
|
| +index 6a96b03..1b79a17 100644
|
| +--- a/third_party/buildbot_slave_8_4/buildslave/runprocess.py
|
| ++++ b/third_party/buildbot_slave_8_4/buildslave/runprocess.py
|
| +@@ -212,6 +212,7 @@ class RunProcess:
|
| + BACKUP_TIMEOUT = 5
|
| + KILL = "KILL"
|
| + CHUNK_LIMIT = 128*1024
|
| ++ OUTPUT_LIMIT = 50*1024*1024
|
| +
|
| + # Don't send any data until at least BUFFER_SIZE bytes have been collected
|
| + # or BUFFER_TIMEOUT elapsed
|
| +@@ -322,6 +323,7 @@ class RunProcess:
|
| + self.buffered = deque()
|
| + self.buflen = 0
|
| + self.buftimer = None
|
| ++ self.totalOutputLength = 0
|
| +
|
| + if usePTY == "slave-config":
|
| + self.usePTY = self.builder.usePTY
|
| +@@ -621,6 +623,11 @@ class RunProcess:
|
| + """
|
| + n = len(data)
|
| +
|
| ++ self.totalOutputLength += n
|
| ++ if self.totalOutputLength > self.OUTPUT_LIMIT:
|
| ++ self.kill('output limit (%d) exceeded' % self.OUTPUT_LIMIT)
|
| ++ return
|
| ++
|
| + self.buflen += n
|
| + self.buffered.append((logname, data))
|
| + if self.buflen > self.BUFFER_SIZE:
|
|
|