shmem: improvements
The possibility of remote interaction with shmem is implemented, i.e. the shmem socket is multifunctional and can not only send data, but also start an action and update shmem data. This allows you to implement shmem actions close to the original system V shared memory from Linux. For example:
- Delete shmem if the process is not native
- Count the number of attached and process ids
Is it backward compatible with old implementation? Or is there a way to detect if a client uses old version and switch implementation in runtime?
Is it backward compatible with old implementation?
No, the old version of libandroid-shmem is not compatible with the new one.
Or is there a way to detect if a client uses old version and switch implementation in runtime?
I only have an idea how to make the new libandroid-shmem detect old shm (libandroid-shmem) and configure itself for them to work with it. But this means that the functionality of such shm will be limited (i.e. there will be no new features like in the new libandroid-shmem) and such implementation of compatibility will greatly complicate shm processing.
For testing, changes from PR #17 were added, but with some modifications.
CC @twaik @michalbednarski