avr-fw-modules/core/src/rb2_clean_pending.c

28 lines
555 B
C

#include <rb2/regbus.h>
/*
void rb2_clean_pending(void)
{
list_t *p,*t;
cpustate_t save;
spinlock_lock_irq( &(&__rb2_instance)->queues.sl_pending, &save );
for_each_list_entry_save(p,t,&((&__rb2_instance)->queues.pending))
{
RB2_REQUEST* r = list_entry(p,RB2_REQUEST,list);
if (wait_async_test(&(r->timeout)))
{
list_remove( p );
r->telegram.i32 = 0;
thread_wake(r->waiter);
} else { // younger requests will not be timed out
break;
}
};
spinlock_release_irq( &(&__rb2_instance)->queues.sl_pending, &save );
};
*/