I've been looking at ticket #3875, and realized I didn't quite
understand the behavior of getch() with respect to timeout() and
SIGWINCH.

Mutt installs its own SIGWINCH handler, turning off the default ncurses
one.

However, it looks like setting a positive timeout() makes the getch()
abort and return ERR both for the timeout and for any SIGWINCH.  This is
why km_dokey() is able to abort and handle a resize redraw immediately
while a mutt_yesorno() prompt does not abort on a resize.

It looks like mutt relies on this, but I was a bit surprised to debug
and figure this out.  Is this documented/expected behavior?

-- 
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