##// 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 347ae9ae544bba8deb417995285287a3b6be1611 v4.10.4
28 347ae9ae544bba8deb417995285287a3b6be1611 v4.10.4
29 9b257ac49841f850434be0d518baca0827e6c8cc v4.10.5
29 9b257ac49841f850434be0d518baca0827e6c8cc v4.10.5
30 e8bf26eea118694edc4ffe50c6c5aa91022bc434 v4.10.6
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 rhodecode-vcsserver = super.buildPythonPackage {
655 rhodecode-vcsserver = super.buildPythonPackage {
656 name = "rhodecode-vcsserver-4.11.0";
656 name = "rhodecode-vcsserver-4.11.1";
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];
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 doCheck = true;
658 doCheck = true;
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];
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 If not, see <http://www.gnu.org/licenses/>.
23 If not, see <http://www.gnu.org/licenses/>.
24 """
24 """
25 import os
25 import os
26 import logging
26 import subprocess32 as subprocess
27 import subprocess32 as subprocess
27 from collections import deque
28 from collections import deque
28 from threading import Event, Thread
29 from threading import Event, Thread
29
30
31 log = logging.getLogger(__name__)
32
30
33
31 class StreamFeeder(Thread):
34 class StreamFeeder(Thread):
32 """
35 """
@@ -117,7 +120,7 b' class InputStreamChunker(Thread):'
117 s = self.source
120 s = self.source
118 t = self.target
121 t = self.target
119 cs = self.chunk_size
122 cs = self.chunk_size
120 ccm = self.chunk_count_max
123 chunk_count_max = self.chunk_count_max
121 keep_reading = self.keep_reading
124 keep_reading = self.keep_reading
122 da = self.data_added
125 da = self.data_added
123 go = self.go
126 go = self.go
@@ -127,14 +130,14 b' class InputStreamChunker(Thread):'
127 except ValueError:
130 except ValueError:
128 b = ''
131 b = ''
129
132
133 timeout_input = 20
130 while b and go.is_set():
134 while b and go.is_set():
131 if len(t) > ccm:
135 if len(t) > chunk_count_max:
132 keep_reading.clear()
136 keep_reading.clear()
133 keep_reading.wait(2)
137 keep_reading.wait(timeout_input)
134
138 if len(t) > chunk_count_max + timeout_input:
135 if not keep_reading.wait(10):
139 log.error("Timed out while waiting for input from subprocess.")
136 raise Exception(
140 os._exit(-1) # this will cause the worker to recycle itself
137 "Timed out while waiting for input to be read.")
138
141
139 t.append(b)
142 t.append(b)
140 da.set()
143 da.set()
General Comments 0
You need to be logged in to leave comments. Login now