Как обработать неверный pthread_t, переданный в lib c? - PullRequest
0 голосов
/ 29 января 2020

Я использую библиотеку для подключения периферийного устройства с моим приложением Android и У меня нет доступа к коду библиотеки . Когда я запускаю свое приложение на устройствах выше Android 8, иногда мое приложение вылетает с журналами:

    2020-01-29 17:16:14.902 4811-5009/com.test.peripheral E/Device: session disconnect ret=-14 result:ERROR_PPCS_SESSION_CLOSED_CALLED
    2020-01-29 17:16:14.913 4811-5014/com.test.peripheral A/libc: invalid pthread_t 0x73cbb4c4f0 passed to libc
    2020-01-29 17:16:14.913 4811-5014/com.test.peripheral A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 5014 (Thread-32), pid 4811
    2020-01-29 17:16:14.934 4811-5015/com.test.peripheral A/libc: invalid pthread_t 0x73dc5ff4f0 passed to libc

Я уже прошел через эту и другие ссылки, связанные с lib c cra sh: Android Собственный Oreo 8.0 C ++ cra sh: неверный pthread_t передан в lib c

Нигде не объясняется, как решить эту проблему в Android приложении , Поскольку у меня нет доступа к библиотечному коду, я хочу перехватить это исключение в приложении Android и остановить его по крайней мере от сбоя. Может кто-нибудь помочь с этим вопросом?

...