From f123d45ce15601f446eaac487431cd59e2cdccf5 Mon Sep 17 00:00:00 2001 From: Badhri Jagan Sridharan Date: Wed, 17 Oct 2018 18:26:37 -0700 Subject: [PATCH] usbd: Do not join the thread pool Work around for the following crash: 02-08 05:34:20.968 root 990 990 F DEBUG : #00 pc 000000000001447c /system/lib64/libhwbinder.so (android::hardware::IPCThreadState::joinThreadPool(bool)+28) 02-08 05:34:20.968 root 990 990 F DEBUG : #01 pc 000000000001c174 /system/lib64/libhwbinder.so (android::hardware::PoolThread::threadLoop()+24) 02-08 05:34:20.968 root 990 990 F DEBUG : #02 pc 000000000000f934 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+280) 02-08 05:34:20.968 root 990 990 F DEBUG : #03 pc 00000000000821e0 /system/lib64/libc.so (__pthread_start(void*)+36) 02-08 05:34:20.968 root 990 990 F DEBUG : #04 pc 0000000000023178 /system/lib64/libc.so (__start_thread+68) Bug: 117470462 Change-Id: I1e8f28a7d0f3041d9be8138a3dc9ed9c74419f91 --- usbd/usbd.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/usbd/usbd.cpp b/usbd/usbd.cpp index 41cd8dd9b..191fb92fb 100644 --- a/usbd/usbd.cpp +++ b/usbd/usbd.cpp @@ -22,15 +22,20 @@ #include #include +#include + #define PERSISTENT_USB_CONFIG "persist.sys.usb.config" using android::base::GetProperty; using android::base::SetProperty; +using android::hardware::configureRpcThreadpool; using android::hardware::usb::gadget::V1_0::GadgetFunction; using android::hardware::usb::gadget::V1_0::IUsbGadget; using android::hardware::Return; int main(int /*argc*/, char** /*argv*/) { + configureRpcThreadpool(1, true /*callerWillJoin*/); + android::sp gadget = IUsbGadget::getService(); Return ret;