X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fmingw%2Fdevice.c;h=d90c69b0244622138422390c110ba7b3e7ea4c0e;hb=7bf4d225a994d8ce9fb45d42afd53793c4232e8e;hp=1116b5e18ab79aeead7cb4514f6c28d730547716;hpb=87f96aec8c48327d879c20ff2b789c88a675173d;p=tinc diff --git a/src/mingw/device.c b/src/mingw/device.c index 1116b5e1..d90c69b0 100644 --- a/src/mingw/device.c +++ b/src/mingw/device.c @@ -43,7 +43,7 @@ static vpn_packet_t device_read_packet; static vpn_packet_t device_write_packet; char *device = NULL; char *iface = NULL; -static char *device_info = NULL; +static const char *device_info = "Windows tap device"; extern char *myport; @@ -54,6 +54,8 @@ static void device_issue_read() { int status; for(;;) { + ResetEvent(device_read_overlapped.hEvent); + DWORD len; status = ReadFile(device_handle, (void *)device_read_packet.data, MTU, &len, &device_read_overlapped); @@ -72,10 +74,7 @@ static void device_issue_read() { } static void device_handle_read(void *data, int flags) { - ResetEvent(device_read_overlapped.hEvent); - DWORD len; - 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));