X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmingw%2Fdevice.c;h=54e09942ce70e07df62a7e37a0ef6d535445743a;hb=950bbc8f2f9c580ac85bef7bab9a3ae36ea99c4b;hp=2cce1f2bdf3faed529797b4e809ce2c86ab59801;hpb=d2b03f006f98d504e3e30f2d4b91ce02abd19c51;p=tinc diff --git a/src/mingw/device.c b/src/mingw/device.c index 2cce1f2b..54e09942 100644 --- a/src/mingw/device.c +++ b/src/mingw/device.c @@ -76,6 +76,12 @@ static void device_handle_read(void *data, int flags) { if(!GetOverlappedResult(device_handle, &device_read_overlapped, &len, FALSE)) { logger(DEBUG_ALWAYS, LOG_ERR, "Error getting read result from %s %s: %s", device_info, device, strerror(errno)); + + if(GetLastError() != ERROR_IO_INCOMPLETE) { + /* Must reset event or it will keep firing. */ + ResetEvent(device_read_overlapped.hEvent); + } + return; }