shmem: improvements - #16
Conversation
|
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? |
dce2c1a to
7860a0d
Compare
No, the old version of libandroid-shmem is not compatible with the new one.
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. |
a27477b to
e55e679
Compare
|
For testing, changes from PR #17 were added, but with some modifications. |
e55e679 to
cdcf597
Compare
ce2d070 to
88e59df
Compare
+ global socket implementation (test) 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 - Filter shmget actions according to flags (i.e. shmget now understands the IPC_CREAT and IPC_EXCL flags) Also added new tests to check all these functionalities.
88e59df to
4147a47
Compare
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: