tree a87c782d03d7e4edad1fe04773ea242eb2559aae
parent 3be177223e5f52932602401bd6b50464ab9d8fd3
author Mao <littlecvr@gmail.com> 1668568567 +0800
committer GitHub <noreply@github.com> 1668568567 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjdFX3CRBK7hj4Ov3rIwAAVHcIABq7SFy0e6hhVNiP8e8eudnT
 8FL0ahX2ghWhuYs5X5jPOxUhxFDx+BvsP2tAzuIRaC1Uyg6PVRIFfASZxkQ2l7Go
 FFpITkD5q9Aps/q34wo1KmkhzWiBZRvKej3Y6UyNL61/HxQ0iH+o1JlnECo7QBzL
 WTLRMmsL4U6UiWQe5td6XA0krHGSNoOOHyyqXcFL7IMIul53SGTEV6tNiDd/vUB1
 XTX4DArb6kIHJWlx7aHNdZWLpuTGC5tTi1ju+V9J8aLyTI3Kq73FFe7SaDal2M/e
 6NDPncadZ7UtHlQj5VYlUUxD2ut8l1JFF7HCqOAiSqetYaUz72oO68hZa7mCZkY=
 =BAVg
 -----END PGP SIGNATURE-----
 

[BinderTransport] Fix BinderTransport server race conditions (#31654)

* Set `connected_` to true before `SendSetupTransport()`

A race happens when the server has already sent setup transport to the
client when it's actually not ready. So move `connected_ = true` before
`SendSetupTransport()`.

However, this may cause another race that `wire_writer_` being used when
it's actually not being constructed yet. So add another Notification for
others to wait for it to be ready.

Note: simply moving `SendSetupTransport()` into the mutex section could
potentially cause a deadlock since it's possible that
`ProcessTransaction()` being called on the same call chain.

This solution is considered a workaround before we figure out a better
workable solution. It's not perfect as if the first request sends, e.g.,
64K of data, we'll try to send an ACK and the system will still
deadlock. Furthermore, this solution makes threads waiting (although the
time frame should be very short).

* Store `accept_stream_fn` call count and call it later when possible

We might be signaled to call `accept_stream_fn` before it has been set.
We should memorize this case and call it later once it has been set, or
the stream will never be accepted.

* Add comments and polish the change