From 8b9a5b344e9f467621f07040567e5231da413f46 Mon Sep 17 00:00:00 2001 From: Daniel Rosenberg Date: Mon, 12 Mar 2018 15:47:23 -0700 Subject: [PATCH] Remove waitpid on UnMount Since we no longer have the Fuse Daemon, we won't ever need to stop the daemon when unmounting. Bug: 33808187 Test: Run "adb shell ps | grep -w Z" The sdcard daemon should not be listed. Change-Id: I6bb9341785b711d81553393f7c3b56115c435236 --- EmulatedVolume.cpp | 10 ++-------- PublicVolume.cpp | 10 ++-------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/EmulatedVolume.cpp b/EmulatedVolume.cpp index 71eaa3e..6fa66d5 100644 --- a/EmulatedVolume.cpp +++ b/EmulatedVolume.cpp @@ -105,8 +105,8 @@ status_t EmulatedVolume::doMount() { usleep(50000); // 50ms } /* sdcardfs will have exited already. FUSE will still be running */ - if (TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG)) == mFusePid) - mFusePid = 0; + TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0)); + mFusePid = 0; return OK; } @@ -121,12 +121,6 @@ status_t EmulatedVolume::doUnmount() { ForceUnmount(mFuseRead); ForceUnmount(mFuseWrite); - if (mFusePid > 0) { - kill(mFusePid, SIGTERM); - TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0)); - mFusePid = 0; - } - rmdir(mFuseDefault.c_str()); rmdir(mFuseRead.c_str()); rmdir(mFuseWrite.c_str()); diff --git a/PublicVolume.cpp b/PublicVolume.cpp index 4643a3a..929f587 100644 --- a/PublicVolume.cpp +++ b/PublicVolume.cpp @@ -191,8 +191,8 @@ status_t PublicVolume::doMount() { usleep(50000); // 50ms } /* sdcardfs will have exited already. FUSE will still be running */ - if (TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG)) == mFusePid) - mFusePid = 0; + TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0)); + mFusePid = 0; return OK; } @@ -211,12 +211,6 @@ status_t PublicVolume::doUnmount() { ForceUnmount(mFuseWrite); ForceUnmount(mRawPath); - if (mFusePid > 0) { - kill(mFusePid, SIGTERM); - TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0)); - mFusePid = 0; - } - rmdir(mFuseDefault.c_str()); rmdir(mFuseRead.c_str()); rmdir(mFuseWrite.c_str());