Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/async.c

    r36e2b55 r93ad49a8  
    17771777int async_hangup(async_sess_t *sess)
    17781778{
    1779         async_exch_t *exch;
    1780        
    17811779        assert(sess);
    17821780       
    17831781        if (atomic_get(&sess->refcnt) > 0)
    17841782                return EBUSY;
    1785        
    1786         fibril_mutex_lock(&async_sess_mutex);
    17871783       
    17881784        int rc = async_hangup_internal(sess->phone);
    17891785        if (rc == EOK)
    17901786                free(sess);
    1791        
    1792         while (!list_empty(&sess->exch_list)) {
    1793                 exch = (async_exch_t *)
    1794                     list_get_instance(list_first(&sess->exch_list),
    1795                     async_exch_t, sess_link);
    1796                
    1797                 list_remove(&exch->sess_link);
    1798                 list_remove(&exch->global_link);
    1799                 async_hangup_internal(exch->phone);
    1800                 free(exch);
    1801         }
    1802        
    1803         fibril_mutex_unlock(&async_sess_mutex);
    18041787       
    18051788        return rc;
Note: See TracChangeset for help on using the changeset viewer.