Page 1 of 1

SB-30: Salvo: Fast Signaling

PostPosted: Fri Sep 14, 2007 8:46 am
by Salvo Tech Support
Applies To

All 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).]