Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/socket/socket_client.c

    r7fb2ce3 r8ab2074  
    560560                fibril_rwlock_write_unlock( & socket_globals.lock );
    561561                fibril_condvar_wait( & socket->accept_signal, & socket->accept_lock );
     562                // drop the accept lock to avoid deadlock
     563                fibril_mutex_unlock( & socket->accept_lock );
    562564                fibril_rwlock_write_lock( & socket_globals.lock );
     565                fibril_mutex_lock( & socket->accept_lock );
    563566        }
    564567        -- socket->blocked;
     
    759762                fibril_rwlock_read_unlock( & socket_globals.lock );
    760763                fibril_condvar_wait( & socket->receive_signal, & socket->receive_lock );
     764                // drop the receive lock to avoid deadlock
     765                fibril_mutex_unlock( & socket->receive_lock );
    761766                fibril_rwlock_read_lock( & socket_globals.lock );
     767                fibril_mutex_lock( & socket->receive_lock );
    762768        }
    763769        -- socket->blocked;
Note: See TracChangeset for help on using the changeset viewer.