Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/test/synch/semaphore1.c

    ra35b458 r6eef3c4  
    4949{
    5050        thread_detach(THREAD);
    51 
     51       
    5252        waitq_sleep(&can_start);
    53 
     53       
    5454        semaphore_down(&sem);
    5555        atomic_inc(&items_produced);
     
    6161{
    6262        thread_detach(THREAD);
    63 
     63       
    6464        waitq_sleep(&can_start);
    65 
     65       
    6666        semaphore_down(&sem);
    6767        atomic_inc(&items_consumed);
     
    7575        atomic_count_t consumers;
    7676        atomic_count_t producers;
    77 
     77       
    7878        waitq_initialize(&can_start);
    7979        semaphore_initialize(&sem, AT_ONCE);
    80 
     80       
    8181        for (i = 1; i <= 3; i++) {
    8282                thread_t *thrd;
    83 
     83               
    8484                atomic_set(&items_produced, 0);
    8585                atomic_set(&items_consumed, 0);
    86 
     86               
    8787                consumers = i * CONSUMERS;
    8888                producers = (4 - i) * PRODUCERS;
    89 
     89               
    9090                TPRINTF("Creating %" PRIua " consumers and %" PRIua " producers...",
    9191                    consumers, producers);
    92 
     92               
    9393                for (j = 0; j < (CONSUMERS + PRODUCERS) / 2; j++) {
    9494                        for (k = 0; k < i; k++) {
     
    109109                        }
    110110                }
    111 
     111               
    112112                TPRINTF("ok\n");
    113 
     113               
    114114                thread_sleep(1);
    115115                waitq_wakeup(&can_start, WAKEUP_ALL);
    116 
     116               
    117117                while ((items_consumed.count != consumers) || (items_produced.count != producers)) {
    118118                        TPRINTF("%" PRIua " consumers remaining, %" PRIua " producers remaining\n",
     
    121121                }
    122122        }
    123 
     123       
    124124        return NULL;
    125125}
Note: See TracChangeset for help on using the changeset viewer.