From 847ad441cda2466680107b0b7607a8ceca3b17d4 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 23 May 2012 11:39:50 +0200 Subject: Filesystem: Wait for unmount() to finish --- cpukit/libcsupport/src/sup_fs_location.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'cpukit/libcsupport/src/sup_fs_location.c') diff --git a/cpukit/libcsupport/src/sup_fs_location.c b/cpukit/libcsupport/src/sup_fs_location.c index 4ebf5f04d7..f991024762 100644 --- a/cpukit/libcsupport/src/sup_fs_location.c +++ b/cpukit/libcsupport/src/sup_fs_location.c @@ -213,5 +213,14 @@ void rtems_filesystem_do_unmount( rtems_filesystem_mt_unlock(); rtems_filesystem_global_location_release(mt_entry->mt_point_node); (*mt_entry->ops->fsunmount_me_h)(mt_entry); + + if (mt_entry->unmount_task != 0) { + rtems_status_code sc = + rtems_event_send(mt_entry->unmount_task, RTEMS_FILESYSTEM_UNMOUNT_EVENT); + if (sc != RTEMS_SUCCESSFUL) { + rtems_fatal_error_occurred(0xdeadbeef); + } + } + free(mt_entry); } -- cgit v1.2.3