diff --git a/native/org.eclipse.cdt.native.serial/jni/win32/serial/.gitignore b/native/org.eclipse.cdt.native.serial/jni/win32/serial/.gitignore index 8f10bd00b58..0d33d69ae64 100644 --- a/native/org.eclipse.cdt.native.serial/jni/win32/serial/.gitignore +++ b/native/org.eclipse.cdt.native.serial/jni/win32/serial/.gitignore @@ -4,3 +4,4 @@ /serial.opensdf /serial.sdf /serial.v12.suo +/.vs/ diff --git a/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.cpp b/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.cpp index 6bbc8c4d68a..0f82d72b8d7 100644 --- a/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.cpp +++ b/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.cpp @@ -89,7 +89,10 @@ JNIEXPORT jlong JNICALL FUNC(open0)(JNIEnv *env, jobject jobj, jstring portName, extern "C" JNIEXPORT void JNICALL FUNC(close0)(JNIEnv *env, jobject jobj, jlong handle) { + CancelIoEx((HANDLE)handle, NULL); CloseHandle((HANDLE)handle); + // Some drivers need us to delay a bit to make sure ports closed + Sleep(1000); } extern "C" diff --git a/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.vcxproj b/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.vcxproj index 4009c5fec7e..a3cd7a4c59c 100644 --- a/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.vcxproj +++ b/native/org.eclipse.cdt.native.serial/jni/win32/serial/serial.vcxproj @@ -1,5 +1,5 @@  - + Debug @@ -27,26 +27,26 @@ DynamicLibrary true - v120 + v140 Unicode DynamicLibrary true - v120 + v140 Unicode DynamicLibrary false - v120 + v140 true Unicode DynamicLibrary false - v120 + v140 true Unicode diff --git a/native/org.eclipse.cdt.native.serial/os/win32/x86/.gitignore b/native/org.eclipse.cdt.native.serial/os/win32/x86/.gitignore index 141e13b4a72..a79ec75379c 100644 --- a/native/org.eclipse.cdt.native.serial/os/win32/x86/.gitignore +++ b/native/org.eclipse.cdt.native.serial/os/win32/x86/.gitignore @@ -1,3 +1,5 @@ /serial.exp /serial.lib /serial.pdb +/serial.iobj +/serial.ipdb diff --git a/native/org.eclipse.cdt.native.serial/os/win32/x86/serial.dll b/native/org.eclipse.cdt.native.serial/os/win32/x86/serial.dll index 3ac1554c02b..8b9b4a7e7c0 100644 Binary files a/native/org.eclipse.cdt.native.serial/os/win32/x86/serial.dll and b/native/org.eclipse.cdt.native.serial/os/win32/x86/serial.dll differ diff --git a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/.gitignore b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/.gitignore index 141e13b4a72..a79ec75379c 100644 --- a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/.gitignore +++ b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/.gitignore @@ -1,3 +1,5 @@ /serial.exp /serial.lib /serial.pdb +/serial.iobj +/serial.ipdb diff --git a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll index 331384f0a7b..cfd5033a2f4 100644 Binary files a/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll and b/native/org.eclipse.cdt.native.serial/os/win32/x86_64/serial.dll differ