##// END OF EJS Templates
subprocessio: instead of raising a Thread error we sent a signal to gunicorn....
marcink -
r358:12f7a361 stable
parent child Browse files
Show More
@@ -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 """
@@ -133,8 +136,9 b' class InputStreamChunker(Thread):'
133 keep_reading.clear()
136 keep_reading.clear()
134 keep_reading.wait(timeout_input)
137 keep_reading.wait(timeout_input)
135 if len(t) > chunk_count_max + timeout_input:
138 if len(t) > chunk_count_max + timeout_input:
136 raise IOError(
139 log.error("Timed out while waiting for input from subprocess.")
137 "Timed out while waiting for input from subprocess.")
140 os._exit(-1) # this will cause the worker to recycle itself
141
138 t.append(b)
142 t.append(b)
139 da.set()
143 da.set()
140 b = s.read(cs)
144 b = s.read(cs)
General Comments 0
You need to be logged in to leave comments. Login now