ho ricevuto questo errore:pthread_mutex_lock.c: 62: __pthread_mutex_lock: Assertion `mutex -> __ dati .__ proprietario == 0' non riuscita
pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->_data._owner == 0' failed.
E non posso trovare qualsiasi causa di questo. Comunque non sono sicuro circa il seguente pezzo di codice:
dichiarazioni:
std::mutex lock;
std::condition_variable cond;
Sequenza di serrature & sblocca:
std::unique_lock<std::mutex> lk(lock);
cond.wait(lk);
lock.unlock();
Se rimuovo questa sequenza - tutto funziona bene, ma senza alcuna protezione. Non sono sicuro se uso correttamente unique_lock
.
Per il futuro, prova a postare programmi brevi, ma completi - http://sscce.org/ :) –