Changeset 5045a68 in mainline


Ignore:
Timestamp:
2008-10-22T20:00:54Z (16 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
05e69c5
Parents:
94f8e3c1
Message:

Synchronize properly when detaching kbox from within.

File:
1 edited

Legend:

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

    r94f8e3c1 r5045a68  
    141141                                        /*
    142142                                         * Last phone has been disconnected.
     143                                         * Detach this thread so it gets
     144                                         * freed and terminate.
    143145                                         */
    144146
    145                                         /* Detach thread so it gets freed. */
    146                                         thread_detach(TASK->kb_thread);
    147                                         TASK->kb_thread = NULL;
     147                                        /* Only need to detach thread unless already terminating. */
     148                                        mutex_lock(&TASK->kb_cleanup_lock);
     149                                        if (&TASK->kb_finished == false) {
     150                                                /* Detach thread so it gets freed. */
     151                                                thread_detach(TASK->kb_thread);
     152                                                TASK->kb_thread = NULL;
     153                                        }
     154                                        mutex_unlock(&TASK->kb_cleanup_lock);
    148155                                        done = true;
    149156                                        LOG("phone list is empty\n");
Note: See TracChangeset for help on using the changeset viewer.