aboutsummaryrefslogtreecommitdiff
path: root/win32/poll.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* win32: revise poll(2) for use in ncRon Yorston2023-03-031-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* win32: update poll(2) to match latest gnulib versionRon Yorston2023-03-031-12/+37
|
* win32: fixes to build on Windows/MSYS2/mingw-w64Ron Yorston2021-02-211-3/+1
| | | | | | | | | | | | | To investigate GitHub issue #200 it was necessary to perform build on Window using the MSYS2/mingw-w64 toolchain. This threw up some issues: - The settings for _WIN32_WINNT and __USE_MINGW_ANSI_STDIO differ from those in Fedora resulting in compiler errors and warnings. Force the defaults I'm used to. - The workaround to allow native compilation of mconf.c was broken by a subsequent upstream change. Make it work again.
* win32: update poll implementation to match latest gnulib versionRon Yorston2018-02-131-209/+207
|
* win32/poll: avoid assumption that pointers are equivalent to longsJohannes Schindelin2017-08-311-1/+1
| | | | | | | | | This is a companion patch to 4319368c6 (Use gnulib poll, importing the version from git, 2012-03-30) (Git's implementation of IsConsoleHandle() was adjusted in the meantime). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Ron Yorston <rmy@pobox.com>
* Move mingw32 poll.h from sysRon Yorston2014-01-021-1/+1
|
* Use gnulib poll, importing the version from gitRon Yorston2012-03-301-0/+606