rawka wrote on Wednesday, July 29, 2009:
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.