##// END OF EJS Templates
release: merge back stable branch into default
marcink -
r363:47ef84d2 merge default
parent child Browse files
Show More
@@ -28,3 +28,5 b' a47ccfb020cda78c8680e3844aaf0b82b1390f3b'
28 28 347ae9ae544bba8deb417995285287a3b6be1611 v4.10.4
29 29 9b257ac49841f850434be0d518baca0827e6c8cc v4.10.5
30 30 e8bf26eea118694edc4ffe50c6c5aa91022bc434 v4.10.6
31 71fa9274ba59fb982104f0b9b3d0d024c78675f7 v4.11.0
32 92471577ef25636e5babe8001d47fc8e51521522 v4.11.1
@@ -653,7 +653,7 b''
653 653 };
654 654 };
655 655 rhodecode-vcsserver = super.buildPythonPackage {
656 name = "rhodecode-vcsserver-4.11.0";
656 name = "rhodecode-vcsserver-4.11.1";
657 657 buildInputs = with self; [pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage configobj];
658 658 doCheck = true;
659 659 propagatedBuildInputs = with self; [Beaker configobj decorator dulwich hgsubversion hg-evolve infrae.cache mercurial msgpack-python pyramid pyramid-jinja2 pyramid-mako repoze.lru simplejson subprocess32 subvertpy six translationstring WebOb wheel zope.deprecation zope.interface ipdb ipython gevent greenlet gunicorn waitress pytest py pytest-cov pytest-sugar pytest-runner pytest-catchlog pytest-profiling gprof2dot pytest-timeout mock WebTest cov-core coverage];
@@ -23,10 +23,13 b' along with git_http_backend.py Project.'
23 23 If not, see <http://www.gnu.org/licenses/>.
24 24 """
25 25 import os
26 import logging
26 27 import subprocess32 as subprocess
27 28 from collections import deque
28 29 from threading import Event, Thread
29 30
31 log = logging.getLogger(__name__)
32
30 33
31 34 class StreamFeeder(Thread):
32 35 """
@@ -117,7 +120,7 b' class InputStreamChunker(Thread):'
117 120 s = self.source
118 121 t = self.target
119 122 cs = self.chunk_size
120 ccm = self.chunk_count_max
123 chunk_count_max = self.chunk_count_max
121 124 keep_reading = self.keep_reading
122 125 da = self.data_added
123 126 go = self.go
@@ -127,14 +130,14 b' class InputStreamChunker(Thread):'
127 130 except ValueError:
128 131 b = ''
129 132
133 timeout_input = 20
130 134 while b and go.is_set():
131 if len(t) > ccm:
135 if len(t) > chunk_count_max:
132 136 keep_reading.clear()
133 keep_reading.wait(2)
134
135 if not keep_reading.wait(10):
136 raise Exception(
137 "Timed out while waiting for input to be read.")
137 keep_reading.wait(timeout_input)
138 if len(t) > chunk_count_max + timeout_input:
139 log.error("Timed out while waiting for input from subprocess.")
140 os._exit(-1) # this will cause the worker to recycle itself
138 141
139 142 t.append(b)
140 143 da.set()
General Comments 0
You need to be logged in to leave comments. Login now