Pumpkin User Forums
  Service Bulletins
  SB-14: Salvo: Event Flags and Timeouts

Post New Topic  
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   SB-14: Salvo: Event Flags and Timeouts
Salvo Tech Support
Moderator
posted October 09, 2002 16:29     Click Here to See the Profile for Salvo Tech Support     Edit/Delete Message   Reply w/Quote
Applies To

All Salvo v3 releases, including Salvo v3.0.9 and earlier.

Description of Problem

When multiple tasks wait an event flag, any task(s) waiting with a timeout on the event flag will fail to timeout if the event flag is signaled within the timeout period, regardless of how the event flag is signaled (i.e. for any combination of parameters of OSSetEFlag()).

In other words, every time an eFlag is signaled, the timeout period of the task(s) that is(are) waiting the eFlag is(are) reset.

A typical scenario is:

quote:
I have two tasks, A and B, and an event flag E.

Task A waits on event flag E with mask 0xF0 and no timeout.

Task B waits on event flag E with mask 0x0F and a timeout.

Some combination of circumstances causes task B's timeout to never happen, although it continues to receive event flags. Timeouts are still working elsewhere in the code, as are OS_Delay calls.


Suggested Workaround

Use separate eFlags for each task that must wait an eFlag. This will solve the timeout problem, but only if the eFlag is set (signaled) with exactly the mask and options with which the task is waiting the eFlag.

Fixed In

TBD. It is likely that the eFlag functionality will be enhanced, and with it, this problem will be resolved.

[This message has been edited by aek (edited February 23, 2006).]

IP: 63.203.232.106

All times are ET

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  
Hop to:

Contact Us | Pumpkin Home Page

2000-2008 Pumpkin, Inc. All Rights Reserved. Pumpkin and the Pumpkin logo, Salvo and the Salvo logo, The RTOS that runs in tiny places, CubeSat Kit and the CubeSat Kit logo are all trademarks of Pumpkin, Inc. All other trademarks are the properties of their respective owners.


Ultimate Bulletin Board 5.46a