Skip to content

Commit

Permalink
Further details on reader bad lock errors, #164
Browse files Browse the repository at this point in the history
  • Loading branch information
kriszyp committed Apr 30, 2022
1 parent 6b0fad7 commit c1497a7
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion dependencies/lmdb/libraries/liblmdb/mdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -3301,8 +3301,14 @@ mdb_txn_renew0(MDB_txn *txn)
MDB_reader *r = (env->me_flags & MDB_NOTLS) ? txn->mt_u.reader :
pthread_getspecific(env->me_txkey);
if (r) {
if (r->mr_pid != env->me_pid || r->mr_txnid != (txnid_t)-1)
if (r->mr_pid != env->me_pid || r->mr_txnid != (txnid_t)-1) {
last_error = malloc(100);
if (r->mr_pid != env->me_pid)
sprintf(last_error, "The reader lock pid %u doesn't match env pid %u", r->mr_pid, env->me_pid);
else
sprintf(last_error, "The reader lock has a txn id %i", r->mr_txnid);
return MDB_BAD_RSLOT;
}
} else {
MDB_PID_T pid = env->me_pid;
MDB_THR_T tid = pthread_self();
Expand Down

0 comments on commit c1497a7

Please sign in to comment.