From f08c71339c05cb462a32a11e3150d71603340e94 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 16 Mar 2017 11:54:29 +0100 Subject: libio: Fix deadlock in location management Perform a context-dependent deferred location release to avoid a deadlock on the file system instance locks, for example during a chdir(). Close #2936. --- testsuites/fstests/fsnofs01/init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'testsuites') diff --git a/testsuites/fstests/fsnofs01/init.c b/testsuites/fstests/fsnofs01/init.c index f4759491ba..d27b969b49 100644 --- a/testsuites/fstests/fsnofs01/init.c +++ b/testsuites/fstests/fsnofs01/init.c @@ -88,7 +88,7 @@ static void test_location_obtain(void) rtems_test_assert(node_count(loc_chain) == 1); rtems_test_assert(null_loc->reference_count == 5); - rtems_filesystem_global_location_release(null_loc); + rtems_filesystem_global_location_release(null_loc, false); rtems_test_assert(node_count(loc_chain) == 1); rtems_test_assert(null_loc->reference_count == 4); @@ -104,7 +104,7 @@ static void test_null_location_obtain(void) rtems_test_assert(node_count(loc_chain) == 1); rtems_test_assert(null_loc->reference_count == 5); - rtems_filesystem_global_location_release(null_loc); + rtems_filesystem_global_location_release(null_loc, false); rtems_test_assert(node_count(loc_chain) == 1); rtems_test_assert(null_loc->reference_count == 4); -- cgit v1.2.3