mirror of
https://github.com/traviscross/mtr.git
synced 2024-09-21 10:27:10 +00:00
dffd81b656
Recent versions of Cygwin implement pipe() using Windows' named pipes, and put the read end of the pipe in FILE_PIPE_COMPLETE_OPERATION mode, which doesn't allow overlapped I/O operations. For the relevant commit in the Cygwin repository, see 9e4d308cd592fe383dec58ea6523c1b436888ef8 The solution here is to maintain a Windows event object which is set only when any ICMP requests are pending. We can do an alertable wait on that event object, which will allow us to complete ICMP requests. Thanks to Adam Schultz for research into this issue and a first attempt at a fix. |
||
---|---|---|
.. | ||
cmdparse.c | ||
cmdparse.h | ||
command.c | ||
command.h | ||
construct_unix.c | ||
construct_unix.h | ||
deconstruct_unix.c | ||
deconstruct_unix.h | ||
packet.c | ||
platform.h | ||
probe_cygwin.c | ||
probe_cygwin.h | ||
probe_unix.c | ||
probe_unix.h | ||
probe.c | ||
probe.h | ||
protocols.h | ||
sockaddr.c | ||
sockaddr.h | ||
timeval.c | ||
timeval.h | ||
utils.h | ||
wait_cygwin.c | ||
wait_unix.c | ||
wait.h |