# 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)