On Fri, Nov 08, 2019 at 10:38:26AM +0100, Oswald Buddenhagen wrote:
anyway, i now have a hypothesis that is consistent with all observations so far: the trigger is an early resize event

Do you mean a resize that you perform, or are you referring to the asynchronous update that konsole performs?

that would mean that the SIGWINCH handling in mutt is racy, at least during startup.

There are a couple odd things here. Mutt installs its signal handlers twice - once before initscr(), and once after. The second installation was originally only for slang, but was changed to always run 18 years ago.

The commit has a reference to an old ticket (not in Trac) noting the second installation helps with Solaris 8. I don't think this would cause a race issue though.

The SIGWINCH handler sets a flag, which is then processed outside the handler. However, I did note two places where the flag is reset *after* the resize/reflow. That does seem racy, and is easy enough to fix.

I've pushed a commit up to the branch 'kevin/sigwinch-fixes'.  Would you
mind giving that a try and seeing if it resolves the issue?

--
Kevin J. McCarthy
GPG Fingerprint: 8975 A9B3 3AA3 7910 385C  5308 ADEF 7684 8031 6BDA

Attachment: signature.asc
Description: PGP signature

Reply via email to