am db1597a9: Fix shutdown sequence to avoid SIGSEGV when running am command
* commit 'db1597a98958b78dc0d8eced19ae1406382b70d6': Fix shutdown sequence to avoid SIGSEGV when running am command
This commit is contained in:
commit
3443b333f1
|
@ -758,7 +758,9 @@ finish:
|
|||
|
||||
status_t IPCThreadState::talkWithDriver(bool doReceive)
|
||||
{
|
||||
ALOG_ASSERT(mProcess->mDriverFD >= 0, "Binder driver is not opened");
|
||||
if (mProcess->mDriverFD <= 0) {
|
||||
return -EBADF;
|
||||
}
|
||||
|
||||
binder_write_read bwr;
|
||||
|
||||
|
@ -814,6 +816,9 @@ status_t IPCThreadState::talkWithDriver(bool doReceive)
|
|||
#else
|
||||
err = INVALID_OPERATION;
|
||||
#endif
|
||||
if (mProcess->mDriverFD <= 0) {
|
||||
err = -EBADF;
|
||||
}
|
||||
IF_LOG_COMMANDS() {
|
||||
alog << "Finished read/write, write size = " << mOut.dataSize() << endl;
|
||||
}
|
||||
|
@ -1106,7 +1111,9 @@ void IPCThreadState::threadDestructor(void *st)
|
|||
if (self) {
|
||||
self->flushCommands();
|
||||
#if defined(HAVE_ANDROID_OS)
|
||||
ioctl(self->mProcess->mDriverFD, BINDER_THREAD_EXIT, 0);
|
||||
if (self->mProcess->mDriverFD > 0) {
|
||||
ioctl(self->mProcess->mDriverFD, BINDER_THREAD_EXIT, 0);
|
||||
}
|
||||
#endif
|
||||
delete self;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue