Changeset 37be841 in mainline


Ignore:
Timestamp:
2009-04-06T15:44:11Z (15 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b014e9f
Parents:
44814b8
Message:

avoid deadlock during cleanup
(the compare function which is called inside hash_table_remove acquires irq→lock)

File:
1 edited

Legend:

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

    r44814b8 r37be841  
    292292                list_remove(&irq->notif_cfg.link);
    293293               
     294                /* Free up the pseudo code and associated structures. */
     295                code_free(irq->notif_cfg.code);
     296               
     297                spinlock_unlock(&irq->lock);
     298               
    294299                /* Remove from the hash table. */
    295300                hash_table_remove(&irq_uspace_hash_table, key, 2);
    296301               
    297                 /* Free up the pseudo code and associated structures. */
    298                 code_free(irq->notif_cfg.code);
    299                
    300                 spinlock_unlock(&irq->lock);
    301302                free(irq);
    302303        }
Note: See TracChangeset for help on using the changeset viewer.