Merge pull request #39 from orchardup/fix-cursor-lag

Fix lag when using cursor keys in an interactive 'fig run'
This commit is contained in:
Ben Firshman 2014-01-20 16:12:29 -08:00
commit 4ee87a7029
1 changed files with 12 additions and 16 deletions

View File

@ -1,7 +1,6 @@
from __future__ import print_function
# Adapted from https://github.com/benthor/remotty/blob/master/socketclient.py
from select import select
import sys
import tty
import fcntl
@ -91,22 +90,19 @@ class SocketClient:
def send(self, socket, stream):
while True:
r, w, e = select([stream.fileno()], [], [])
chunk = stream.read(1)
if r:
chunk = stream.read(1)
if chunk == '':
socket.close()
break
else:
try:
socket.send(chunk)
except Exception as e:
if hasattr(e, 'errno') and e.errno == errno.EPIPE:
break
else:
raise e
if chunk == '':
socket.close()
break
else:
try:
socket.send(chunk)
except Exception as e:
if hasattr(e, 'errno') and e.errno == errno.EPIPE:
break
else:
raise e
def destroy(self):
if self.settings is not None: