possible problem in xTaskCheckForTimeOut

Hi, I’m using vs2008 to compile the FreeRTOS V5.4.1 with win32 emulation (with unsigned short portTickType) . I’ve found a possible bug in the xTaskCheckForTimeOut() function using this enviroment: in tasks.c at line 1704:         else if( ( ( portTickType ) xTickCount – ( portTickType ) pxTimeOut->xTimeOnEntering ) < ( portTickType ) *pxTicksToWait ) should be replace to:         else if(  ( portTickType )( xTickCount – pxTimeOut->xTimeOnEntering ) < ( portTickType ) *pxTicksToWait ) not doing this, the substraction will be converted to 32bit wide integert instead of "unsigned short", which could lead to other problems (invalid pxTicksToWait for example). I don’t know how it affects the other environments, but I hope this helps for somebody.

possible problem in xTaskCheckForTimeOut

Those casts are new in V5.4.1 and intended to stop exactly the situation you describe.  It worked for the code I was working on at the time, but it seems not all compilers. Can you add a bug report in the SourceForge tracker for this – that way it will get looked at again before the next release. Thanks and regards.

possible problem in xTaskCheckForTimeOut

I’ve added this bug to the tracker! Regards!