Ignore:
Timestamp:
Apr 21, 2017, 4:28:29 AM (5 weeks ago)
Author:
brainslayer
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/linux/universal/linux-3.18/sound/core/seq/seq_memory.c

    r29205 r31885  
    415415}
    416416
     417/* refuse the further insertion to the pool */
     418void snd_seq_pool_mark_closing(struct snd_seq_pool *pool)
     419{
     420        unsigned long flags;
     421
     422        if (snd_BUG_ON(!pool))
     423                return;
     424        spin_lock_irqsave(&pool->lock, flags);
     425        pool->closing = 1;
     426        spin_unlock_irqrestore(&pool->lock, flags);
     427}
     428
    417429/* remove events */
    418430int snd_seq_pool_done(struct snd_seq_pool *pool)
     
    426438
    427439        /* wait for closing all threads */
    428         spin_lock_irqsave(&pool->lock, flags);
    429         pool->closing = 1;
    430         spin_unlock_irqrestore(&pool->lock, flags);
    431 
    432440        if (waitqueue_active(&pool->output_sleep))
    433441                wake_up(&pool->output_sleep);
     
    492500        if (pool == NULL)
    493501                return 0;
     502        snd_seq_pool_mark_closing(pool);
    494503        snd_seq_pool_done(pool);
    495504        kfree(pool);
Note: See TracChangeset for help on using the changeset viewer.