Fixed #15565: Ensure terminal echo is on after reloader reloads (something turns it off on some systems if reload happens while at a pdb prompt). Thanks for the report zimnyx.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15883 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Karen Tracey 2011-03-19 22:09:38 +00:00
parent 775a6e694f
commit f5b22ed997
1 changed files with 13 additions and 0 deletions

View File

@ -42,6 +42,10 @@ try:
except ImportError:
pass
try:
import termios
except ImportError:
termios = None
RUN_RELOADER = True
@ -67,7 +71,16 @@ def code_changed():
return True
return False
def ensure_echo_on():
if termios:
fd = sys.stdin.fileno()
attr_list = termios.tcgetattr(fd)
if not attr_list[3] & termios.ECHO:
attr_list[3] |= termios.ECHO
termios.tcsetattr(fd, termios.TCSANOW, attr_list)
def reloader_thread():
ensure_echo_on()
while RUN_RELOADER:
if code_changed():
sys.exit(3) # force reload