Changes in / [b40ea02:087768f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/irq.c
rb40ea02 r087768f 358 358 ASSERT(irq->notif_cfg.answerbox == box); 359 359 360 /* Free up the pseudo code and associated structures. */ 361 code_free(irq->notif_cfg.code); 362 360 363 /* Remove the IRQ from the answerbox's list. */ 361 364 list_remove(&irq->notif_cfg.link); … … 375 378 irq_spinlock_unlock(&box->irq_lock, false); 376 379 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true); 377 378 /* Free up the pseudo code and associated structures. */379 code_free(irq->notif_cfg.code);380 380 381 381 /* Free up the IRQ structure. */ … … 425 425 list_remove(&irq->notif_cfg.link); 426 426 427 /* Free up the pseudo code and associated structures. */ 428 code_free(irq->notif_cfg.code); 429 427 430 /* 428 431 * We need to drop the IRQ lock now because hash_table_remove() … … 436 439 /* Remove from the hash table. */ 437 440 hash_table_remove(&irq_uspace_hash_table, key, 2); 438 439 /* 440 * Release both locks so that we can free the pseudo code. 441 */ 442 irq_spinlock_unlock(&box->irq_lock, false); 443 irq_spinlock_unlock(&irq_uspace_hash_table_lock, true); 444 445 code_free(irq->notif_cfg.code); 441 446 442 free(irq); 447 448 /* Reacquire both locks before taking another round. */449 irq_spinlock_lock(&irq_uspace_hash_table_lock, true);450 irq_spinlock_lock(&box->irq_lock, false);451 443 } 452 444
Note:
See TracChangeset
for help on using the changeset viewer.