Import Upstream version 1.0.24
This commit is contained in:
parent
413f90b815
commit
45b80e247e
45 changed files with 1342 additions and 341 deletions
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
device.c -- Interaction with Windows tap driver in a MinGW environment
|
||||
Copyright (C) 2002-2005 Ivo Timmermans,
|
||||
2002-2013 Guus Sliepen <guus@tinc-vpn.org>
|
||||
2002-2014 Guus Sliepen <guus@tinc-vpn.org>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -49,6 +49,7 @@ static DWORD WINAPI tapreader(void *bla) {
|
|||
DWORD len;
|
||||
OVERLAPPED overlapped;
|
||||
vpn_packet_t packet;
|
||||
int errors = 0;
|
||||
|
||||
logger(LOG_DEBUG, "Tap reader running");
|
||||
|
||||
|
|
@ -71,16 +72,27 @@ static DWORD WINAPI tapreader(void *bla) {
|
|||
} else {
|
||||
logger(LOG_ERR, "Error while reading from %s %s: %s", device_info,
|
||||
device, strerror(errno));
|
||||
return -1;
|
||||
errors++;
|
||||
if(errors >= 10) {
|
||||
EnterCriticalSection(&mutex);
|
||||
running = false;
|
||||
LeaveCriticalSection(&mutex);
|
||||
}
|
||||
usleep(1000000);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
EnterCriticalSection(&mutex);
|
||||
errors = 0;
|
||||
packet.len = len;
|
||||
packet.priority = 0;
|
||||
|
||||
EnterCriticalSection(&mutex);
|
||||
route(myself, &packet);
|
||||
LeaveCriticalSection(&mutex);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static bool setup_device(void) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue