aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUtkarsh Sanghi <usanghi@chromium.org>2015-07-14 09:17:50 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-07-15 03:39:20 +0000
commit951eb5974a3873720e8b942b270a7bffa89b2ffb (patch)
tree724b127cc6372c1a9aa7ee9a1f70ebdd22e008ef
parenta5a2f2ea49e0085bf8d7f6f2b6e7cd624d710c01 (diff)
downloadtrunks-951eb5974a3873720e8b942b270a7bffa89b2ffb.tar.gz
trunks: Init TpmHandle before starting trunksd
BUG=None TEST=restart trunksd on DUT Change-Id: I82153c212347f6812b2fde92f05074efb363ce62 Reviewed-on: https://chromium-review.googlesource.com/285327 Reviewed-by: Vadim Bendebury <vbendeb@google.com> Tested-by: Vadim Bendebury <vbendeb@google.com> Tested-by: Utkarsh Sanghi <usanghi@chromium.org> Commit-Queue: Utkarsh Sanghi <usanghi@chromium.org>
-rw-r--r--trunksd.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/trunksd.cc b/trunksd.cc
index 81c0ef4..5093591 100644
--- a/trunksd.cc
+++ b/trunksd.cc
@@ -55,18 +55,18 @@ void InitMinijailSandbox() {
class TrunksDaemon : public chromeos::DBusServiceDaemon {
public:
- explicit TrunksDaemon(trunks::TpmHandle* tpm_handle) :
+ explicit TrunksDaemon(trunks::CommandTransceiver* transceiver) :
chromeos::DBusServiceDaemon(trunks::kTrunksServiceName) {
- tpm_handle_.reset(tpm_handle);
+ transceiver_.reset(transceiver);
background_thread_.reset(new base::Thread(kBackgroundThreadName));
CHECK(background_thread_->Start());
// Chain together command transceivers:
// [IPC] --> TrunksService --> BackgroundCommandTransceiver -->
// ResourceManager --> TpmHandle --> [TPM]
- factory_.reset(new trunks::TrunksFactoryImpl(tpm_handle_.get()));
+ factory_.reset(new trunks::TrunksFactoryImpl(transceiver_.get()));
resource_manager_.reset(new trunks::ResourceManager(
*factory_,
- tpm_handle_.get()));
+ transceiver_.get()));
background_thread_->message_loop_proxy()->PostNonNestableTask(
FROM_HERE,
base::Bind(&trunks::ResourceManager::Initialize,
@@ -89,7 +89,7 @@ class TrunksDaemon : public chromeos::DBusServiceDaemon {
private:
std::unique_ptr<trunks::TrunksService> trunks_service_;
- std::unique_ptr<trunks::TpmHandle> tpm_handle_;
+ std::unique_ptr<trunks::CommandTransceiver> transceiver_;
// Thread for executing TPM comands.
std::unique_ptr<base::Thread> background_thread_;
std::unique_ptr<trunks::TrunksFactory> factory_;
@@ -106,6 +106,7 @@ int main(int argc, char **argv) {
trunks::TpmHandle tpm_handle;
// AtExitManager must be instantiated before tpm_handle.Init()
TrunksDaemon daemon(&tpm_handle);
+ CHECK(tpm_handle.Init());
InitMinijailSandbox();
LOG(INFO) << "Trunks Service Started";
return daemon.Run();