# HG changeset patch
# User edouard@expresso
# Date 1254842531 -7200
# Node ID cbf29cccec18748556e7fcaf46faf2f96ecce262
# Parent  efb6e88ad27f08bac2171a1a326cf9f913662bb7# Parent  7767029937aa854dc313695504a9ff8bb872e845
Some more reasonable timeout while waiting timer thread end

diff -r efb6e88ad27f -r cbf29cccec18 drivers/timers_win32/timers_win32.c
--- a/drivers/timers_win32/timers_win32.c	Tue Oct 06 17:15:32 2009 +0200
+++ b/drivers/timers_win32/timers_win32.c	Tue Oct 06 17:22:11 2009 +0200
@@ -70,7 +70,10 @@
 
 void WaitReceiveTaskEnd(TASK_HANDLE *Thread)
 {
-	WaitForSingleObject(*Thread, INFINITE);
+	if(WaitForSingleObject(*Thread, 1000) == WAIT_TIMEOUT)
+	{
+		TerminateThread(*Thread, -1);
+	}
 	CloseHandle(*Thread);
 }
 
diff -r efb6e88ad27f -r cbf29cccec18 drivers/win32/win32.c
--- a/drivers/win32/win32.c	Tue Oct 06 17:15:32 2009 +0200
+++ b/drivers/win32/win32.c	Tue Oct 06 17:22:11 2009 +0200
@@ -103,7 +103,7 @@
 
 	if (!handle)
 	{
-		fprintf (stderr, "%s\n", GetLastError());
+		fprintf (stderr, "%d\n", GetLastError());
     	return NULL;
 	}
 
@@ -181,7 +181,7 @@
 /***************************************************************************/
 int canClose(CO_Data * d)
 {
-	UNS8 res;
+	UNS8 res = 1;
 	CANPort* tmp;
 
 	if((CANPort*)d->canHandle)