Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/kbox.c

    r1066041 r716185d  
    4444#include <ipc/kbox.h>
    4545#include <print.h>
    46 #include <proc/thread.h>
    4746
    4847void ipc_kbox_cleanup(void)
    4948{
     49        /*
     50         * Not really needed, just to be consistent with the meaning of
     51         * answerbox_t.active.
     52         */
     53        irq_spinlock_lock(&TASK->kb.box.lock, true);
     54        TASK->kb.box.active = false;
     55        irq_spinlock_unlock(&TASK->kb.box.lock, true);
     56
    5057        /*
    5158         * Only hold kb.cleanup_lock while setting kb.finished -
     
    8996       
    9097        /* Answer all messages in 'calls' and 'dispatched_calls' queues. */
    91         irq_spinlock_lock(&TASK->kb.box.lock, true);
    92         ipc_cleanup_call_list(&TASK->kb.box.dispatched_calls);
    93         ipc_cleanup_call_list(&TASK->kb.box.calls);
    94         irq_spinlock_unlock(&TASK->kb.box.lock, true);
     98        ipc_cleanup_call_list(&TASK->kb.box, &TASK->kb.box.calls);
     99        ipc_cleanup_call_list(&TASK->kb.box, &TASK->kb.box.dispatched_calls);
    95100}
    96101
     
    163168        while (!done) {
    164169                call_t *call = ipc_wait_for_call(&TASK->kb.box, SYNCH_NO_TIMEOUT,
    165                         SYNCH_FLAGS_NONE);
     170                    SYNCH_FLAGS_NONE);
    166171               
    167172                if (call == NULL)
     
    237242       
    238243        /* Connect the newly allocated phone to the kbox */
    239         ipc_phone_connect(&TASK->phones[newphid], &task->kb.box);
     244        (void) ipc_phone_connect(&TASK->phones[newphid], &task->kb.box);
    240245       
    241246        if (task->kb.thread != NULL) {
Note: See TracChangeset for help on using the changeset viewer.