Pumpkin, Inc.

Pumpkin User Forums

SB-12: Salvo: High Signaling Rate Stops Multitasking

Service Bulletins -- outlining known problems and how to handle them -- are posted here.

SB-12: Salvo: High Signaling Rate Stops Multitasking

Postby Salvo Tech Support » Sun Jan 13, 2002 8:50 am

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.

--------
Salvo Technical Support
Please request all tech support through the Forums.
Salvo Tech Support
 
Posts: 173
Joined: Sun Nov 19, 2000 12:00 am

Return to Service Bulletins

Who is online

Users browsing this forum: No registered users and 0 guests

cron