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

[1.3.X] Fix #15880: Prevent "stalling" when running dev server in background...

[1.3.X] Fix #15880: Prevent "stalling" when running dev server in background by ignoring SIGTTOU for the duration of tcsetattr.

Backport of [16326] from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.3.X@16327 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent f5785632
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -28,7 +28,7 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import os, sys, time
import os, sys, time, signal

try:
    import thread
@@ -78,7 +78,13 @@ def ensure_echo_on():
            attr_list = termios.tcgetattr(fd)
            if not attr_list[3] & termios.ECHO:
                attr_list[3] |= termios.ECHO
                if hasattr(signal, 'SIGTTOU'):
                    old_handler = signal.signal(signal.SIGTTOU, signal.SIG_IGN)
                else:
                    old_handler = None
                termios.tcsetattr(fd, termios.TCSANOW, attr_list)
                if old_handler is not None:
                    signal.signal(signal.SIGTTOU, old_handler)

def reloader_thread():
    ensure_echo_on()