Hi:
See lock_hash in h_table.c:
Flowing lines of code do not guarantee atomicity and I think it is not safe:
- atomic_get(&_tm_table->entries[i].locker_pid) != mypid
- lock(&_tm_table->entries[i].mutex)
- atomic_set(&_tm_table->entries[i].locker_pid, mypid)
Would you mind solving my confusion?
Best Regards!