https://bz.mercurial-scm.org/show_bug.cgi?id=5452
Bug ID: 5452 Summary: "Interrupted system call" with sshpeer.py when resizing terminal Product: Mercurial Version: 4.0.1 Hardware: PC OS: Linux Status: UNCONFIRMED Severity: feature Priority: wish Component: Mercurial Assignee: bugzi...@mercurial-scm.org Reporter: ar...@tunes.org CC: mercurial-de...@selenic.com Running Mercurial across ssh, at least on Linux: when it is waiting for more data (sshpeer.py:84, "act = util.poll(fds)"), if the terminal window is resized, then the select call is interrupted with "select.error: (4, 'Interrupted system call')". The problem is that the error propagates and crashes the whole mercurial run with a standard traceback. Instead it should be caught and ignored. The problem can be reproduced by running "hg pull ssh://..." or "hg push ssh://..." and resizing the terminal window while the operation is in progress. I guess that the same problem would occur by sending other Posix signals to the application, but signals are rare nowadays. I think that resizing the terminal window sends SIGWINCH to the process, which is normally ignored, but still interrupts some system calls like select(). It doesn't seem to occur for https:// connections. I guess they are handled differently. Ran with Python 2.7.12 on Arch Linux. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel