pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->__data.__Besitzer == 0' failed

Erhielt ich den Fehler:

pthread_mutex_lock.c:62: __pthread_mutex_lock: Assertion `mutex->_Daten._owner == 0' failed.

Und ich kann nicht finden jede Ursache. Aber ich bin mir nicht sicher über das folgende Stück code:

Erklärungen:

std::mutex lock;
std::condition_variable cond;

Reihenfolge der locks & entriegelt:

std::unique_lock<std::mutex> lk(lock);

cond.wait(lk);

lock.unlock();

Wenn ich zu entfernen dieses Sequenz - alles funktioniert gut, aber ohne jeglichen Schutz. Ich bin mir nicht sicher, ob ich unique_lock richtig.

  • Für die Zukunft, bitte versuchen Sie es zu post kurze, aber vollständige Programme - sscce.org 🙂
InformationsquelleAutor Dejwi | 2012-02-11
Schreibe einen Kommentar