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!