Loading trusty/storage/proxy/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cc_binary { shared_libs: [ "libbase", "libbinder_ndk", "libcutils", "liblog", "libhardware_legacy", Loading trusty/storage/proxy/proxy.c +10 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <sys/stat.h> #include <unistd.h> #include <android/binder_process.h> #include <cutils/android_filesystem_config.h> #include "checkpoint_handling.h" Loading Loading @@ -238,6 +239,15 @@ int main(int argc, char* argv[]) { /* parse arguments */ parse_args(argc, argv); /* * Start binder threadpool. At least one extra binder thread is needed to * connect to the wakelock service without relying on polling. If we poll on * the main thread we end up pausing for at least 1s even if the service * starts faster. */ ABinderProcess_setThreadPoolMaxThreadCount(1); ABinderProcess_startThreadPool(); /* initialize secure storage directory */ rc = storage_init(ss_data_root); if (rc < 0) return EXIT_FAILURE; Loading trusty/storage/proxy/rpmb.c +8 −0 Original line number Diff line number Diff line Loading @@ -399,6 +399,14 @@ static int send_ufs_rpmb_req(int sg_fd, const struct storage_rpmb_send_req* req, bool is_request_write = req->reliable_write_size > 0; /* * Internally this call connects to the suspend service, which will cause * this service to start if not already running. If the binder thread pool * has not been started at this point, this call will block and poll for the * service every 1s. We need to make sure the thread pool is started to * receive an async notification that the service is started to avoid * blocking (see main). */ wl_rc = acquire_wake_lock(PARTIAL_WAKE_LOCK, UFS_WAKE_LOCK_NAME); if (wl_rc < 0) { ALOGE("%s: failed to acquire wakelock: %d, %s\n", __func__, wl_rc, strerror(errno)); Loading Loading
trusty/storage/proxy/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ cc_binary { shared_libs: [ "libbase", "libbinder_ndk", "libcutils", "liblog", "libhardware_legacy", Loading
trusty/storage/proxy/proxy.c +10 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ #include <sys/stat.h> #include <unistd.h> #include <android/binder_process.h> #include <cutils/android_filesystem_config.h> #include "checkpoint_handling.h" Loading Loading @@ -238,6 +239,15 @@ int main(int argc, char* argv[]) { /* parse arguments */ parse_args(argc, argv); /* * Start binder threadpool. At least one extra binder thread is needed to * connect to the wakelock service without relying on polling. If we poll on * the main thread we end up pausing for at least 1s even if the service * starts faster. */ ABinderProcess_setThreadPoolMaxThreadCount(1); ABinderProcess_startThreadPool(); /* initialize secure storage directory */ rc = storage_init(ss_data_root); if (rc < 0) return EXIT_FAILURE; Loading
trusty/storage/proxy/rpmb.c +8 −0 Original line number Diff line number Diff line Loading @@ -399,6 +399,14 @@ static int send_ufs_rpmb_req(int sg_fd, const struct storage_rpmb_send_req* req, bool is_request_write = req->reliable_write_size > 0; /* * Internally this call connects to the suspend service, which will cause * this service to start if not already running. If the binder thread pool * has not been started at this point, this call will block and poll for the * service every 1s. We need to make sure the thread pool is started to * receive an async notification that the service is started to avoid * blocking (see main). */ wl_rc = acquire_wake_lock(PARTIAL_WAKE_LOCK, UFS_WAKE_LOCK_NAME); if (wl_rc < 0) { ALOGE("%s: failed to acquire wakelock: %d, %s\n", __func__, wl_rc, strerror(errno)); Loading