Changeset 1f2b07a in mainline for uspace/lib/c/generic/inet/tcp.c
- Timestamp:
- 2015-06-08T22:00:22Z (10 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- dc0d6e5d
- Parents:
- 204ba47
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/inet/tcp.c
r204ba47 r1f2b07a 81 81 list_initialize(&tcp->conn); 82 82 list_initialize(&tcp->listener); 83 fibril_mutex_initialize(&tcp->lock); 84 fibril_condvar_initialize(&tcp->cv); 83 85 84 86 rc = loc_service_get_id(SERVICE_NAME_TCP, &tcp_svcid, … … 115 117 116 118 async_hangup(tcp->sess); 119 120 fibril_mutex_lock(&tcp->lock); 121 while (!tcp->cb_done) 122 fibril_condvar_wait(&tcp->cv, &tcp->lock); 123 fibril_mutex_unlock(&tcp->lock); 124 117 125 free(tcp); 118 126 } … … 593 601 594 602 if (!IPC_GET_IMETHOD(call)) { 595 /* TODO: Handle hangup*/596 return;603 /* Hangup*/ 604 goto out; 597 605 } 598 606 … … 621 629 } 622 630 } 631 out: 632 fibril_mutex_lock(&tcp->lock); 633 tcp->cb_done = true; 634 fibril_mutex_unlock(&tcp->lock); 635 fibril_condvar_broadcast(&tcp->cv); 623 636 } 624 637
Note:
See TracChangeset
for help on using the changeset viewer.