From 20fd25c231305b0cbc06b5113430aadc003a5c14 Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Wed, 3 Sep 2014 14:04:43 -0500 Subject: Improve error handling during MTP startup Change-Id: I9395481dd8d9cbd3346fe6682557236b48b4d6cd --- mtp/mtp_MtpServer.cpp | 13 ++++++++----- mtp/mtp_MtpServer.hpp | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'mtp') diff --git a/mtp/mtp_MtpServer.cpp b/mtp/mtp_MtpServer.cpp index 8565d5401..af80f6826 100755 --- a/mtp/mtp_MtpServer.cpp +++ b/mtp/mtp_MtpServer.cpp @@ -35,16 +35,17 @@ void twmtp_MtpServer::start() { - setup(); - add_storage(); - server->run(); + if (setup() == 0) { + add_storage(); + server->run(); + } } void twmtp_MtpServer::set_storages(storages* mtpstorages) { stores = mtpstorages; } -void twmtp_MtpServer::setup() +int twmtp_MtpServer::setup() { #define USB_MTP_DEVICE "/dev/mtp_usb" usePtp = false; @@ -60,8 +61,10 @@ void twmtp_MtpServer::setup() refserver = server; MTPI("created new mtpserver object\n"); } else { - MTPE("could not open MTP driver, errno: %d", errno); + MTPE("could not open MTP driver, errno: %d\n", errno); + return -1; } + return 0; } void twmtp_MtpServer::run() diff --git a/mtp/mtp_MtpServer.hpp b/mtp/mtp_MtpServer.hpp index 360d1c376..ce6b13c2d 100755 --- a/mtp/mtp_MtpServer.hpp +++ b/mtp/mtp_MtpServer.hpp @@ -43,7 +43,7 @@ typedef std::vector storages; class twmtp_MtpServer { public: void start(); - void setup(); + int setup(); void run(); void cleanup(); void send_object_added(int handle); -- cgit v1.2.3