incubator-nuttx/fs/semaphore
dongjiuzhu1 09a9611ae9 fs/inode: using rwsem lock as inode_lock to avoid deadlock
Example:
When executing "df -h" on Core A to view mount information, this
process will traverse inode nodes, thereby holding the inode_lock.
Since the inode type of the mount point may be rpmsgfs, it will fetch statfs
information from another Core B.

Meanwhile, rcS on Core B needs to obtain file information from Core A,
which will be achieved by fetching stat information through rpmsgfs.
When this message arrives at Core A, a deadlock can occur between Core A's
rptun ap and nsh task.

However, both of these places involve read operations only, thus a reader-writer lock
can be utilized to prevent such a deadlock.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-10-02 01:56:46 +08:00
..
CMakeLists.txt
Kconfig
Make.defs
sem_close.c fs_inode:Change the type of i_crefs to atomic_int 2024-09-23 14:07:03 +08:00
sem_open.c fs/inode: using rwsem lock as inode_lock to avoid deadlock 2024-10-02 01:56:46 +08:00
sem_unlink.c fs/inode: using rwsem lock as inode_lock to avoid deadlock 2024-10-02 01:56:46 +08:00
semaphore.h