Revert "Make tombstone in the child process on loading failure."
This reverts commit e55d13cea8946ba51fa51d9e07e29bda141b12f8.
Test: manualy added crash loop and check if it triggers rollback.
Bug: 131106476
Change-Id: Ie49cec343467f58835f8ee01f72ecbedbadb4b79
diff --git a/media/codec2/vndk/C2Store.cpp b/media/codec2/vndk/C2Store.cpp
index f5dc838..10c4dcc 100644
--- a/media/codec2/vndk/C2Store.cpp
+++ b/media/codec2/vndk/C2Store.cpp
@@ -26,7 +26,6 @@
#include <C2Config.h>
#include <C2PlatformStorePluginLoader.h>
#include <C2PlatformSupport.h>
-#include <media/stagefright/foundation/ADebug.h>
#include <util/C2InterfaceHelper.h>
#include <dlfcn.h>
@@ -662,36 +661,30 @@
ALOGV("in %s", __func__);
ALOGV("loading dll");
mLibHandle = dlopen(libPath.c_str(), RTLD_NOW|RTLD_NODELETE);
- if (mLibHandle == nullptr) {
- LOG_ALWAYS_FATAL_IN_CHILD_PROC("could not dlopen %s: %s", libPath.c_str(), dlerror());
- mInit = C2_CORRUPTED;
- return mInit;
- }
+ LOG_ALWAYS_FATAL_IF(mLibHandle == nullptr,
+ "could not dlopen %s: %s", libPath.c_str(), dlerror());
createFactory =
(C2ComponentFactory::CreateCodec2FactoryFunc)dlsym(mLibHandle, "CreateCodec2Factory");
- if (createFactory == nullptr) {
- LOG_ALWAYS_FATAL_IN_CHILD_PROC("createFactory is null in %s", libPath.c_str());
- mInit = C2_CORRUPTED;
- return mInit;
- }
+ LOG_ALWAYS_FATAL_IF(createFactory == nullptr,
+ "createFactory is null in %s", libPath.c_str());
destroyFactory =
(C2ComponentFactory::DestroyCodec2FactoryFunc)dlsym(mLibHandle, "DestroyCodec2Factory");
- if (destroyFactory == nullptr) {
- LOG_ALWAYS_FATAL_IN_CHILD_PROC("destroyFactory is null in %s", libPath.c_str());
- mInit = C2_CORRUPTED;
- return mInit;
- }
+ LOG_ALWAYS_FATAL_IF(destroyFactory == nullptr,
+ "destroyFactory is null in %s", libPath.c_str());
mComponentFactory = createFactory();
if (mComponentFactory == nullptr) {
ALOGD("could not create factory in %s", libPath.c_str());
mInit = C2_NO_MEMORY;
- return mInit;
+ } else {
+ mInit = C2_OK;
}
- mInit = C2_OK;
+ if (mInit != C2_OK) {
+ return mInit;
+ }
std::shared_ptr<C2ComponentInterface> intf;
c2_status_t res = createInterface(0, &intf);