|
|
@ -105,8 +105,8 @@ status_t EmulatedVolume::doMount() {
|
|
|
|
usleep(50000); // 50ms
|
|
|
|
usleep(50000); // 50ms
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/* sdcardfs will have exited already. FUSE will still be running */
|
|
|
|
/* sdcardfs will have exited already. FUSE will still be running */
|
|
|
|
if (TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, WNOHANG)) == mFusePid)
|
|
|
|
TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0));
|
|
|
|
mFusePid = 0;
|
|
|
|
mFusePid = 0;
|
|
|
|
|
|
|
|
|
|
|
|
return OK;
|
|
|
|
return OK;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -121,12 +121,6 @@ status_t EmulatedVolume::doUnmount() {
|
|
|
|
ForceUnmount(mFuseRead);
|
|
|
|
ForceUnmount(mFuseRead);
|
|
|
|
ForceUnmount(mFuseWrite);
|
|
|
|
ForceUnmount(mFuseWrite);
|
|
|
|
|
|
|
|
|
|
|
|
if (mFusePid > 0) {
|
|
|
|
|
|
|
|
kill(mFusePid, SIGTERM);
|
|
|
|
|
|
|
|
TEMP_FAILURE_RETRY(waitpid(mFusePid, nullptr, 0));
|
|
|
|
|
|
|
|
mFusePid = 0;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rmdir(mFuseDefault.c_str());
|
|
|
|
rmdir(mFuseDefault.c_str());
|
|
|
|
rmdir(mFuseRead.c_str());
|
|
|
|
rmdir(mFuseRead.c_str());
|
|
|
|
rmdir(mFuseWrite.c_str());
|
|
|
|
rmdir(mFuseWrite.c_str());
|
|
|
|