Changes in uspace/lib/c/generic/async.c [36e2b55:93ad49a8] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/async.c
r36e2b55 r93ad49a8 1777 1777 int async_hangup(async_sess_t *sess) 1778 1778 { 1779 async_exch_t *exch;1780 1781 1779 assert(sess); 1782 1780 1783 1781 if (atomic_get(&sess->refcnt) > 0) 1784 1782 return EBUSY; 1785 1786 fibril_mutex_lock(&async_sess_mutex);1787 1783 1788 1784 int rc = async_hangup_internal(sess->phone); 1789 1785 if (rc == EOK) 1790 1786 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);1804 1787 1805 1788 return rc;
Note:
See TracChangeset
for help on using the changeset viewer.