1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-13 10:33:51 -05:00
Simon Tatham 6dfe941a73 Windows Pageant: fix hang due to queued callbacks.
In the Windows Pageant message loop, we were alternating between
MsgWaitForMultipleObjects with timeout=INFINITE, and
run_toplevel_callbacks. But run_toplevel_callbacks doesn't loop until
the callback queue is empty: it just runs at least one of the
currently queued callbacks, so that some progress was made. So if two
or more callbacks were queued, we'd leave the rest in the queue and go
back into MsgWaitForMultipleObjects, which could hang indefinitely.

(A very silly workaround was available: move the mouse over the
Pageant systray icon! Every mouse event would terminate the wait and
let you get one more iteration of run_toplevel_callbacks.)

Now we do the same thing as in other main loops: if any further
callbacks are pending, then we still run MsgWaitForMultipleObjects,
but we do it with timeout=0 instead of timeout=INFINITE, so that we
won't go back to a _blocking_ sleep until all callbacks have been
serviced.
2021-09-30 19:16:20 +01:00
2021-06-12 13:50:51 +01:00
2021-04-10 09:51:29 +01:00
2021-04-10 09:51:29 +01:00
2021-04-10 09:51:29 +01:00
2021-04-10 09:51:29 +01:00
2021-04-10 09:51:29 +01:00
2021-04-10 09:51:29 +01:00
2021-07-17 11:49:44 +01:00
2021-04-19 18:26:56 +01:00
2021-01-11 21:37:51 +00:00
2021-04-18 08:18:27 +01:00
2020-01-30 06:40:22 +00:00
2021-02-10 21:07:57 +00:00
2020-01-30 06:40:21 +00:00
2021-08-14 08:02:27 +01:00
2020-01-29 06:44:18 +00:00
2021-09-07 13:46:37 +01:00

This is the README for PuTTY, a free Windows and Unix Telnet and SSH
client.

PuTTY is built using CMake <https://cmake.org/>. To compile in the
simplest way (on any of Linux, Windows or Mac), run these commands in
the source directory:

  cmake .
  cmake --build .

Documentation (in various formats including Windows Help and Unix
`man' pages) is built from the Halibut (`.but') files in the `doc'
subdirectory using `doc/Makefile'. If you aren't using one of our
source snapshots, you'll need to do this yourself. Halibut can be
found at <https://www.chiark.greenend.org.uk/~sgtatham/halibut/>.

The PuTTY home web site is

    https://www.chiark.greenend.org.uk/~sgtatham/putty/

If you want to send bug reports or feature requests, please read the
Feedback section of the web site before doing so. Sending one-line
reports saying `it doesn't work' will waste your time as much as
ours.

See the file LICENCE for the licence conditions.
Description
No description provided
Readme 340 MiB
Languages
C 89.7%
Python 8%
Perl 0.9%
CMake 0.8%
Shell 0.4%
Other 0.1%