Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit b919c242 authored by Chavi Weingarten's avatar Chavi Weingarten
Browse files

Fixed issues with transaction synchronization in VRI

There were several crashes in transaction native code that was a result
of unsynchronized access. This was due to VRI posting the completed
transaction onto a new thread without first copying it. When this
occurs, a timeout can be invoked and modify the same transaction without
holding a lock. This fix ensures the transaction is merged (and
therefore cleared) to a local reference before posting the message to
ensure it's no longer using the transaction that requires the lock.

This also exposed an issue with the logic around checking if it's a
client side VRI or system side. The crash should only have occurred in
system server since non system server VRI shouldn't post the final
transaction onto the message queue and therefore are holding the lock.
This CL also fixes that logic to ensure that in non system server VRI's
we don't post to the message queue since it's not needed.

Test: Added logs in VRI to ensure the only posting to queue in system
server
Bug: 302686733

Change-Id: I58539a81b5150af07e2f47e912885e6978d0eeec
parent a891bc20
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment