Changes in uspace/srv/net/socket/socket_client.c [5814ef7:aadf01e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/socket/socket_client.c
r5814ef7 raadf01e 421 421 int socket_id; 422 422 services_t service; 423 ipcarg_t fragment_size;424 ipcarg_t header_size;425 423 426 424 // find the appropriate service … … 480 478 return socket_id; 481 479 } 482 if(ERROR_OCCURRED((int) async_req_3_3(phone, NET_SOCKET, socket_id, 0, service, NULL, &fragment_size, &header_size))){480 if(ERROR_OCCURRED((int) async_req_3_3(phone, NET_SOCKET, socket_id, 0, service, NULL, (ipcarg_t *) &socket->data_fragment_size, (ipcarg_t *) &socket->header_size))){ 483 481 fibril_rwlock_write_unlock(&socket_globals.lock); 484 482 free(socket); 485 483 return ERROR_CODE; 486 484 } 487 socket->data_fragment_size = (size_t) fragment_size;488 socket->header_size = (size_t) header_size;489 485 // finish the new socket initialization 490 486 socket_initialize(socket, socket_id, phone, service); … … 584 580 fibril_rwlock_write_unlock(&socket_globals.lock); 585 581 fibril_condvar_wait(&socket->accept_signal, &socket->accept_lock); 586 // drop the accept lock to avoid deadlock587 fibril_mutex_unlock(&socket->accept_lock);588 582 fibril_rwlock_write_lock(&socket_globals.lock); 589 fibril_mutex_lock(&socket->accept_lock);590 583 } 591 584 -- socket->blocked; … … 808 801 fibril_rwlock_read_unlock(&socket_globals.lock); 809 802 fibril_condvar_wait(&socket->receive_signal, &socket->receive_lock); 810 // drop the receive lock to avoid deadlock811 fibril_mutex_unlock(&socket->receive_lock);812 803 fibril_rwlock_read_lock(&socket_globals.lock); 813 fibril_mutex_lock(&socket->receive_lock);814 804 } 815 805 -- socket->blocked;
Note:
See TracChangeset
for help on using the changeset viewer.