Commit f9f2f4b7 authored by Karen Tracey's avatar Karen Tracey
Browse files

[1.2.X] Fixed #15565: Ensure terminal echo is on after reloader reloads...

[1.2.X] 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.

r15883 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15884 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 52e81079
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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