Merge "mFusePid should be cleared after waitpid successfully" am: 456483d193
am: 8be3be3167

Change-Id: Ib55467c9719d5c578a51b0fc49b03dbc9bbe0870
diff --git a/EmulatedVolume.cpp b/EmulatedVolume.cpp
index 21b290a..71eaa3e 100644
--- a/EmulatedVolume.cpp
+++ b/EmulatedVolume.cpp
@@ -105,7 +105,8 @@
         usleep(50000); // 50ms
     }
     /* sdcardfs will have exited already. FUSE will still be running */
-    TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG));
+    if (TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG)) == mFusePid)
+        mFusePid = 0;
 
     return OK;
 }
diff --git a/PublicVolume.cpp b/PublicVolume.cpp
index f976c4a..4643a3a 100644
--- a/PublicVolume.cpp
+++ b/PublicVolume.cpp
@@ -191,7 +191,8 @@
         usleep(50000); // 50ms
     }
     /* sdcardfs will have exited already. FUSE will still be running */
-    TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG));
+    if (TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG)) == mFusePid)
+        mFusePid = 0;
 
     return OK;
 }