1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
putty-source/windows
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
..
utils Windows dputs: use WriteFile to avoid stdio buffering. 2021-09-30 19:00:11 +01:00
agent-client.c Close agent named-pipe handles when queries complete. 2021-05-13 18:22:05 +01:00
be_conpty.c New application: a Windows version of 'pterm'! 2021-05-08 17:51:27 +01:00
cliloop.c Reorganise Windows HANDLE management. 2021-05-24 15:27:38 +01:00
CMakeLists.txt Reorganise Windows HANDLE management. 2021-05-24 15:27:38 +01:00
config.c Initial support for in-process proxy SSH connections. 2021-05-22 14:13:52 +01:00
conpty.c handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
console.c Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
controls.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
cryptoapi.h Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
dialog.c Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
gss.c Avoid crash in MIT Kerberos for Windows on session restart. 2021-07-01 18:59:44 +01:00
handle-io.c handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
handle-socket.c handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
handle-wait.c Fix an unused variable. 2021-05-27 09:48:32 +01:00
help.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
help.h Bug workaround to delay sending our SSH greeting. 2021-08-14 11:46:21 +01:00
help.rc2 Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
installer.wxs Configurable CHM path in installer source. 2021-05-03 17:01:55 +01:00
jump-list.c Move some parts of window.c into putty.c. 2021-05-08 17:20:50 +01:00
local-proxy.c FdSocket, HandleSocket: store a notional peer address. 2021-09-13 14:38:44 +01:00
make_install_images.sh Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
msifixup.py Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
named-pipe-client.c FdSocket, HandleSocket: store a notional peer address. 2021-09-13 14:38:44 +01:00
named-pipe-server.c FdSocket, HandleSocket: store a notional peer address. 2021-09-13 14:38:44 +01:00
network.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
no-jump-list.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
nohelp.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
noise.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pageant-rc.h winpgnt: say 'click to focus' in async passphrase prompt. 2021-04-22 20:00:46 +01:00
pageant.c Windows Pageant: fix hang due to queued callbacks. 2021-09-30 19:16:20 +01:00
pageant.ico
pageant.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
pageant.rc Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pageants.ico
platform.h handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
plink.c handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
plink.rc
printing.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pscp.ico
pscp.rc
psftp.rc
psocks.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pterm.c New application: a Windows version of 'pterm'! 2021-05-08 17:51:27 +01:00
pterm.ico Make Windows versions of the pterm icons. 2021-05-08 17:33:25 +01:00
pterm.rc New application: a Windows version of 'pterm'! 2021-05-08 17:51:27 +01:00
ptermcfg.ico Make Windows versions of the pterm icons. 2021-05-08 17:33:25 +01:00
putty-common.rc2 Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
putty-rc.h Mention the host name in host-key prompts. 2021-09-16 14:33:59 +01:00
putty.c Move some parts of window.c into putty.c. 2021-05-08 17:20:50 +01:00
putty.ico
putty.mft Windows 10: add per monitor DPI awareness support. 2021-04-02 19:04:19 +01:00
putty.rc Move icon declarations out of putty-common.rc2. 2021-05-08 17:33:25 +01:00
puttycfg.ico
puttygen-rc.h PuTTYgen: option to control Argon2 flavour. 2021-02-23 18:26:50 +00:00
puttygen.c Close all thread handles returned from CreateThread. 2021-07-01 18:30:25 +01:00
puttygen.ico
puttygen.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
puttygen.rc Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
puttyins.ico
puttytel.mft Windows 10: add per monitor DPI awareness support. 2021-04-02 19:04:19 +01:00
puttytel.rc Move icon declarations out of putty-common.rc2. 2021-05-08 17:33:25 +01:00
rcstuff.h Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
README-msi.txt Remove note about .CHM on network drives. 2019-03-18 21:53:45 +00:00
security-api.h Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
select-cli.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
select-gui.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
serial.c handle_write_eof: delegate CloseHandle back to the client. 2021-09-30 19:16:20 +01:00
sftp.c Complete rework of terminal userpass input system. 2021-09-14 13:19:33 +01:00
sharing.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
sizetip.c Formatting change to braces around one case of a switch. 2020-02-16 11:26:21 +00:00
storage.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
unicode.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
version.rc2 FIXME about Windows resource CHMfulness hint. 2019-03-18 22:02:13 +00:00
website.url Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
win-gui-seat.h Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
window.c seat_output: add an output type for SSH banners. (NFC) 2021-09-16 17:24:42 +01:00
x11.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00