posted September 14, 2007 09:46
Applies ToAll Salvo Pro distributions when fast signaling is enabled AND event services are not combined.
Fast signaling (via OSENABLE_FAST_SIGNALING) is disabled by default. Event combining (via OSCOMBINE_EVENT_SERVICES) is enabled by default.
Therefore this problem can occur only when building from source using Salvo Pro and when changing the configuration options from their default values.
Description of Problem
There is an error in the Salvo source code when Fast signaling is enabled and event services are not being combined. This may lead to improper event handling.
Suggested Workaround
Avoid the following combination of configuration options in Salvo Pro source-code builds:
#define OSENABLE_FAST_SIGNALING TRUE
#define OSCOMBINE_EVENT_SERVICES FALSE
All other combinations are OK.
Alternatively, Salvo Pro users can identify the lines in (salvo)binsem.c, (salvo)msg.c, (salvo)msgq.c and (salvo)sem.c that include the line
code:
u.tcbP->status.bits.state == OSTCB_TASK_SIGNALED;
and change it to code:
u.tcbP->status.bits.state = OSTCB_TASK_SIGNALED;
Fixed In
4.0.2 and later.
------------------
--------
Salvo Technical Support
Please request all tech support through the Forums.
[This message has been edited by aek (edited September 14, 2007).]