diff options
author | Ron Yorston <rmy@pobox.com> | 2023-03-03 11:29:58 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2023-03-03 11:29:58 +0000 |
commit | 0678b843f10191abadc5f47cef9a8ab6a29b7326 (patch) | |
tree | 0ebbaaeb7726c5ed8d881370526e256c497b501e /arch | |
parent | e9ea698021018cb94e6075598eda0c01cf61b28e (diff) | |
download | busybox-w32-0678b843f10191abadc5f47cef9a8ab6a29b7326.tar.gz busybox-w32-0678b843f10191abadc5f47cef9a8ab6a29b7326.tar.bz2 busybox-w32-0678b843f10191abadc5f47cef9a8ab6a29b7326.zip |
win32: revise poll(2) for use in nc
Upstream commit 5b3b468ec (nc: use poll() instead of select())
changed `nc` to use poll(2) instead of select(2), obviously.
In busybox-w32 select(2) had already been hacked to support `nc`.
To avoid hacking poll(2) too the upstream change was reverted
(c2002eae3). Later `nc` was altered to include the code for both
poll and select (3c85cc0c4).
Make the changes necessary for poll(2) to work with `nc` on Windows.
These are all in the function windows_compute_revents().
Treat a character file that isn't a console as a normal file.
Without this `nc 127.0.0.1 1234 </dev/null` doesn't work.
Return 0 instead of POLLHUP if GetNumberOfConsoleInputEvents()
indicates no events are available. Without this communication
between two instances of `nc` which are both using keyboard
input isn't as asynchronous as one would like.
Only process key press events: key releases are ignored. Without
this `nc 127.0.0.1 1234` won't receive anything from the server
until the local user presses a key.
In the default case, which now includes disk files and character
files, detect polling for reads as well as writes. Without this
`nc 127.0.0.1 1234 <local_file` doesn't work.
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions