在linux中有,对于互斥的操作,大多用到了read/write mutex,今天发现一个问题,同一个进程内可以多次获取到。有点像vxworks中的量子锁一样。
但是会有crash打出:
=============================================
[ INFO: possible recursive locking detected ]
3.14.0-xilinx-00012-gfba9419-dirty #101 Not tainted
---------------------------------------------
ubimkvol/503 is trying to acquire lock:
(&le->mutex){+.+...}, at: [<c02edbd0>] leb_write_lock+0x18/0x20 我在这调用一次
but task is already holding lock:
(&le->mutex){+.+...}, at: [<c02edbd0>] leb_write_lock+0x18/0x20
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0
----
lock(&le->mutex);
lock(&le->mutex);
*** DEADLOCK ***
May be