Use a mutex to allow the TAP reader to process packets faster on Windows.
authorGuus Sliepen <guus@tinc-vpn.org>
Tue, 15 Sep 2009 20:59:01 +0000 (22:59 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Tue, 15 Sep 2009 20:59:01 +0000 (22:59 +0200)
commitb47c17bcdeb70b63ad9346dc97ba575597cbd803
tree62620f73d4229a7faf0d7af6665cd2d4ae7f6b78
parent802a50ffcd5f39bfc6424ac841de4e41154092fc
Use a mutex to allow the TAP reader to process packets faster on Windows.

The TAP-Win32 device is not a socket, and select() under Windows only works
with sockets.  Tinc used a separate thread to read from the TAP-Win32 device,
and passed this via a local socket to the main thread which could then select()
from it. We now use a global mutex, which is only unlocked when the main thread
is waiting for select(), to allow the TAP reader thread to process packets
directly.
src/mingw/device.c
src/net.c
src/net.h
src/tincd.c