Pumpkin User Forums
  Service Bulletins
  SB-12: Salvo: High Signaling Rate Stops Multitasking

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

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   SB-12: Salvo: High Signaling Rate Stops Multitasking
Salvo Tech Support
Moderator
posted January 13, 2002 08:50     Click Here to See the Profile for Salvo Tech Support     Edit/Delete Message   Reply w/Quote
Applies To

Salvo v2.2.1 and earlier.

Description of Problem

If a task waits an event less frequently than the event is signaled, then the task will never yield to the scheduler, and no other tasks can run.

For example, if a task waits a semaphore that is signaled at a very high rate (e.g. from within an ISR), the task will only yield back to the scheduler when the semaphore has "fallen back to zero."

Suggested Workaround

Add a call to OS_Yield() immediately after OS_WaitXyz(), like this:

code:
for (;;) {
OS_WaitSem(SEM_NAME, label1);
OS_Yield(label2);

}

Fixed In

Salvo v3.0.0.

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