quando cerco di fare una mappa che ha stringa come chiave e pthread_mutex_t come elemento,errore durante l'uso mutex
map<string, pthread_mutex_t> connectedClientsMutexes;
pthread_mutex_t myMutex;//= PTHREAD_MUTEX_INITIALIZER;
connectedClientsMutexes.insert(pair<string,pthread_mutex_t>(userName,myMutex));
while (1)
{
pthread_mutex_lock(&connectedClientsMutexes[userName]);
// do something here
}
questo genera:
phase3: pthread_mutex_lock.c: 312: __pthread_mutex_lock_full: Asserzione `(- (e))! = 3 || ! robusto 'fallito.
il codice a volte funziona ea volte no: S –