libpdx_uds: Fix RPC channel ID allocation to not recycle values as often
The value of channel ID for PDX service on UDS transport was actual file descriptor value for the data socket. Since channels are open and closed constantly, it is quite often that channel ID is being reused immediately, so it is almost impossible to use `cid` as unique identifier for objects being passed around. Instead, we now use monotonically growing channel ID value. To prevent the possibility of using channel ID as the socket FD and vice versa, changed all helper functions that used to take socket_fd as an int to explicitly use BorrowedHandle which disables implicit conversion from int (and hence makes it impossible to mistakenly pass in the channel ID). Bug: 37082296 Test: `m -j32` succeeds for sailfish-eng Ran libpdx_uds_tests on the device -> all pass Device boots and CubeSea and VrHome render correctly with vr_flinger Change-Id: Ibb8dfee4d6c3f4b6120c0b6e20a253f1b9307c19
Loading
Please register or sign in to comment