aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy
diff options
context:
space:
mode:
authorMarcelo Glezer <mg@tekii.com.ar>2015-01-12 10:55:47 -0300
committerMarcelo Glezer <mg@tekii.com.ar>2015-01-12 10:55:47 -0300
commit27950f19721ae68152b84d874702ca81f1b6ecee (patch)
tree12573d1c3c9976d0b39016f3f45a0ef78c1a759d /libmproxy
parent30213d6370bca2bb222e315a63bf4d924a9b0b94 (diff)
parente18294437c4629f26dc65e16a9252ef61a109284 (diff)
downloadmitmproxy-27950f19721ae68152b84d874702ca81f1b6ecee.tar.gz
mitmproxy-27950f19721ae68152b84d874702ca81f1b6ecee.tar.bz2
mitmproxy-27950f19721ae68152b84d874702ca81f1b6ecee.zip
Merge remote-tracking branch 'base/master'
Diffstat (limited to 'libmproxy')
-rw-r--r--libmproxy/console/__init__.py16
-rw-r--r--libmproxy/controller.py6
-rw-r--r--libmproxy/flow.py2
3 files changed, 18 insertions, 6 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index e2a0ec75..b2f4d96c 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -510,14 +510,22 @@ class ConsoleMaster(flow.FlowMaster):
def client_playback_path(self, path):
err, ret = self._readflow(path)
if err:
- self.statusbar.message(ret)
+ if not self.statusbar:
+ print >> sys.stderr, ret
+ sys.exit(1)
+ else:
+ self.statusbar.message(ret)
else:
self.start_client_playback(ret, False)
def server_playback_path(self, path):
err, ret = self._readflow(path)
if err:
- self.statusbar.message(ret)
+ if not self.statusbar:
+ print >> sys.stderr, ret
+ sys.exit(1)
+ else:
+ self.statusbar.message(ret)
else:
self.start_server_playback(
ret,
@@ -825,8 +833,8 @@ class ConsoleMaster(flow.FlowMaster):
if changed:
self.statusbar.redraw()
size = self.drawscreen()
- changed = self.tick(self.masterq, 0.01)
- self.ui.set_input_timeouts(max_wait=0.01)
+ changed = self.tick(self.masterq, timeout=0.1)
+ self.ui.set_input_timeouts(max_wait=0)
keys = self.ui.get_input()
if keys:
changed = True
diff --git a/libmproxy/controller.py b/libmproxy/controller.py
index 39e7695f..9ca89184 100644
--- a/libmproxy/controller.py
+++ b/libmproxy/controller.py
@@ -108,7 +108,11 @@ class Master(object):
self.should_exit.clear()
self.server.start_slave(Slave, Channel(self.masterq, self.should_exit))
while not self.should_exit.is_set():
- self.tick(self.masterq, 0.01)
+
+ # Don't choose a very small timeout in Python 2:
+ # https://github.com/mitmproxy/mitmproxy/issues/443
+ # TODO: Lower the timeout value if we move to Python 3.
+ self.tick(self.masterq, 0.1)
self.shutdown()
def handle(self, mtype, obj):
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index f3b138e2..97ebc572 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -758,7 +758,7 @@ class FlowMaster(controller.Master):
self.shutdown()
self.client_playback.tick(self)
- return controller.Master.tick(self, q, timeout)
+ return super(FlowMaster, self).tick(q, timeout)
def duplicate_flow(self, f):
return self.load_flow(f.copy())