diff --git a/Makefile b/Makefile index c5be365..6b3ff5d 100644 --- a/Makefile +++ b/Makefile @@ -5,9 +5,9 @@ else DIST_BUILD_SCRIPT := ./dist.sh endif -EXECUTABLES = cmake -build_reqs := $(foreach exec,$(EXECUTABLES),\ - $(if $(shell which $(exec)),some string,$(error "No $(exec) in PATH"))) +#EXECUTABLES = cmake +#build_reqs := $(foreach exec,$(EXECUTABLES),\ +# $(if $(shell which $(exec)),some string,$(error "No $(exec) in PATH"))) .PHONY: list list: diff --git a/src/Controls.hpp b/src/Controls.hpp index 4b3870e..c78246b 100644 --- a/src/Controls.hpp +++ b/src/Controls.hpp @@ -33,6 +33,10 @@ #ifndef LIBZT_CONTROLS_HPP #define LIBZT_CONTROLS_HPP +#ifdef _WIN32 +#include +#endif + namespace ZeroTier { ////////////////////////////////////////////////////////////////////////////// diff --git a/src/Sockets.cpp b/src/Sockets.cpp index df65521..844c90a 100644 --- a/src/Sockets.cpp +++ b/src/Sockets.cpp @@ -38,16 +38,9 @@ #include "ZeroTierConstants.h" #include "Options.h" #include "Debug.hpp" -#include "Controls.hpp" #ifdef SDK_JNI #include -#ifndef _MSC_VER - //#include - //#include - //#include - //#include -#endif #endif namespace ZeroTier { diff --git a/src/VirtualTap.cpp b/src/VirtualTap.cpp index a0dd2cb..190b599 100644 --- a/src/VirtualTap.cpp +++ b/src/VirtualTap.cpp @@ -79,7 +79,9 @@ VirtualTap::VirtualTap( memset(vtap_full_name, 0, sizeof(vtap_full_name)); snprintf(vtap_full_name, sizeof(vtap_full_name), "libzt%llx", (unsigned long long)_nwid); _dev = vtap_full_name; +#ifndef _WIN32 ::pipe(_shutdownSignalPipe); +#endif // Start virtual tap thread and stack I/O loops _thread = Thread::start(this); } @@ -90,13 +92,17 @@ VirtualTap::~VirtualTap() nd->nwid = _nwid; postEvent(ZTS_EVENT_NETWORK_DOWN, (void*)nd); _run = false; +#ifndef _WIN32 ::write(_shutdownSignalPipe[1],"\0",1); +#endif _phy.whack(); lwip_remove_netif(netif); netif = NULL; Thread::join(_thread); +#ifndef _WIN32 ::close(_shutdownSignalPipe[0]); ::close(_shutdownSignalPipe[1]); +#endif } void VirtualTap::lastConfigUpdate(uint64_t lastConfigUpdateTime) diff --git a/src/lwipDriver.cpp b/src/lwipDriver.cpp index f69d28d..db8dffe 100644 --- a/src/lwipDriver.cpp +++ b/src/lwipDriver.cpp @@ -155,7 +155,7 @@ void lwip_driver_init() #if defined(_WIN32) sys_init(); // Required for win32 init of critical sections #endif - void *st = sys_thread_new(ZTS_LWIP_DRIVER_THREAD_NAME, main_lwip_driver_loop, + void *st = (void*)sys_thread_new(ZTS_LWIP_DRIVER_THREAD_NAME, main_lwip_driver_loop, NULL, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO); }