Android 6.0.1 release 43 (MOB30J)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEABECAAYFAlcn+/0ACgkQ6K0/gZqxDnjM1wCfYbf5jx2b8bwmkDc5ohgikw8I 6GsAnjfAWMPO6SNxvB9YuYmuIJW16R4B =4iNh -----END PGP SIGNATURE----- Merge tag 'android-6.0.1_r43' into HEAD Ticket: CYNGNOS-2373 Android 6.0.1 release 43 (MOB30J) Change-Id: I1d6a9cc67ded5dd7d0ee1f17773e326ac0ae87ce
This commit is contained in:
commit
134fddb97d
@ -1083,8 +1083,16 @@ status_t IPCThreadState::executeCommand(int32_t cmd)
|
|||||||
<< reinterpret_cast<const size_t*>(tr.data.ptr.offsets) << endl;
|
<< reinterpret_cast<const size_t*>(tr.data.ptr.offsets) << endl;
|
||||||
}
|
}
|
||||||
if (tr.target.ptr) {
|
if (tr.target.ptr) {
|
||||||
sp<BBinder> b((BBinder*)tr.cookie);
|
// We only have a weak reference on the target object, so we must first try to
|
||||||
error = b->transact(tr.code, buffer, &reply, tr.flags);
|
// safely acquire a strong reference before doing anything else with it.
|
||||||
|
if (reinterpret_cast<RefBase::weakref_type*>(
|
||||||
|
tr.target.ptr)->attemptIncStrong(this)) {
|
||||||
|
error = reinterpret_cast<BBinder*>(tr.cookie)->transact(tr.code, buffer,
|
||||||
|
&reply, tr.flags);
|
||||||
|
reinterpret_cast<BBinder*>(tr.cookie)->decStrong(this);
|
||||||
|
} else {
|
||||||
|
error = UNKNOWN_TRANSACTION;
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
error = the_context_object->transact(tr.code, buffer, &reply, tr.flags);
|
error = the_context_object->transact(tr.code, buffer, &reply, tr.flags);
|
||||||
|
@ -349,7 +349,7 @@ status_t BnGraphicBufferConsumer::onTransact(
|
|||||||
}
|
}
|
||||||
case GET_RELEASED_BUFFERS: {
|
case GET_RELEASED_BUFFERS: {
|
||||||
CHECK_INTERFACE(IGraphicBufferConsumer, data, reply);
|
CHECK_INTERFACE(IGraphicBufferConsumer, data, reply);
|
||||||
uint64_t slotMask;
|
uint64_t slotMask = 0;
|
||||||
status_t result = getReleasedBuffers(&slotMask);
|
status_t result = getReleasedBuffers(&slotMask);
|
||||||
reply->writeInt64(static_cast<int64_t>(slotMask));
|
reply->writeInt64(static_cast<int64_t>(slotMask));
|
||||||
reply->writeInt32(result);
|
reply->writeInt32(result);
|
||||||
|
@ -435,6 +435,7 @@ status_t BnGraphicBufferProducer::onTransact(
|
|||||||
QueueBufferOutput* const output =
|
QueueBufferOutput* const output =
|
||||||
reinterpret_cast<QueueBufferOutput *>(
|
reinterpret_cast<QueueBufferOutput *>(
|
||||||
reply->writeInplace(sizeof(QueueBufferOutput)));
|
reply->writeInplace(sizeof(QueueBufferOutput)));
|
||||||
|
memset(output, 0, sizeof(QueueBufferOutput));
|
||||||
status_t res = connect(listener, api, producerControlledByApp, output);
|
status_t res = connect(listener, api, producerControlledByApp, output);
|
||||||
reply->writeInt32(res);
|
reply->writeInt32(res);
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
|
Loading…
Reference in New Issue
Block a user