1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
putty-source/unix
Simon Tatham 5c926d9ea4 Switch to using poll(2) in place of select(2).
I've always thought poll was more hassle to set up, because if you
want to reuse part of your pollfds list between calls then you have to
index every fd by its position in the list as well as the fd number
itself, which gives you twice as many indices to keep track of than if
the fd is always its own key.

But the problem is that select is fundamentally limited to the range
of fds that can fit in an fd_set, which is not the range of fds that
can _exist_, so I've had a change of heart and now have to go with
poll.

For the moment, I've surrounded it with a 'pollwrapper' structure that
lets me treat it more or less like select, containing a tree234 that
maps each fd to its location in the list, and also translating between
the simple select r/w/x classification and the richer poll flags.
That's let me do the migration with minimal disruption to the call
sites.

In future perhaps I can start using poll more directly, and/or using
the richer flag system (though the latter might be fiddly because of
sometimes being constrained to use the glib event loop). But this will
do for now.
2019-03-16 12:25:23 +00:00
..
configure Move the Unix configure script up to the top level. 2014-02-22 18:01:32 +00:00
gtkapp.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
gtkask.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcols.c Add some more miscellaneous asserts. 2018-12-01 17:04:44 +00:00
gtkcols.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkcomm.c Introduce an enum of the uxsel / select_result flags. 2019-03-16 12:25:23 +00:00
gtkcompat.h Adopt C99 <stdbool.h>'s true/false. 2018-11-03 13:45:00 +00:00
gtkdlg.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
gtkfont.c Add some more miscellaneous asserts. 2018-12-01 17:04:44 +00:00
gtkfont.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkmain.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
gtkmisc.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkmisc.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
gtkwin.c Fix build failures under GTK 1. 2019-03-12 08:06:20 +00:00
osxlaunch.c osxlaunch: stop setting DYLD_LIBRARY_PATH. 2017-12-20 10:04:02 +00:00
pterm.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
pterm.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
putty.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
putty.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
unix.h Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
ux_x11.c Change sensitive strbufs/sgrowarrays to the new _nm version. 2019-03-02 06:54:17 +00:00
uxagentc.c Introduce an enum of the uxsel / select_result flags. 2019-03-16 12:25:23 +00:00
uxagentsock.c Close standard handles in watchdog subprocesses. 2018-10-21 10:16:16 +01:00
uxcfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxcons.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxfdsock.c Introduce an enum of the uxsel / select_result flags. 2019-03-16 12:25:23 +00:00
uxgen.c Unix PuTTYgen: switch to /dev/urandom by default. 2018-06-03 15:15:51 +01:00
uxgss.c Support GSS key exchange, for Kerberos 5 only. 2018-04-26 07:21:16 +01:00
uxmisc.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxnet.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxnogtk.c Include the compile-time GTK version in the build info. 2017-02-15 19:32:42 +00:00
uxnoise.c Replace PuTTY's PRNG with a Fortuna-like system. 2019-01-23 22:36:17 +00:00
uxpeer.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxpgnt.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxplink.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxpoll.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxprint.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxproxy.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxpterm.c Label random-noise sources with an enum of ids. 2019-01-23 22:36:17 +00:00
uxpty.c Introduce an enum of the uxsel / select_result flags. 2019-03-16 12:25:23 +00:00
uxputty.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxsel.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxser.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
uxserver.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxsftp.c Switch to using poll(2) in place of select(2). 2019-03-16 12:25:23 +00:00
uxsftpserver.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
uxshare.c Replace random_byte() with random_read(). 2019-01-23 22:36:17 +00:00
uxsignal.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxstore.c Replace more ad-hoc growing char buffers with strbuf. 2019-02-28 06:42:37 +00:00
uxucs.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
uxutils.c Support hardware SHA-256 and SHA-1 on Arm platforms. 2019-01-23 22:36:17 +00:00
x11misc.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
x11misc.h Basic support for running under GDK Wayland back end. 2018-05-09 09:21:27 +01:00
xkeysym.c Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a 2003-04-27 11:10:48 +00:00
xpmptcfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpterm.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpucfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmputty.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00