Ivan Kharin wrote:
My software is a plug-in for Photoshop compatible image editors.
For some reasons (third-party lib problems with re-initialize in same process) software was splitted to "Thunk" (loaded into host process) and "Main" (started as separated process) modules.
Last days I was busy trying to replace socket-based data exchange with boost.interprocess
And encountered a BIG PROBLEM:
Non-universal binary host runs under PowerPC-emulation (as well as my universal-binary "Thunk"), but "Main" executes x86 code.
Two different processors -- x86 and emulated PowerPC -- have access to interprocess_* private uint32_t's, treating memory as MSB (PowerPC) and LSB (x86) simultaneously.
Any ideas?
It doesn't see Interprocess is the right choice for this job. You will need to use lower-level mechanisms (mapped_region or similar) and do the job yourself. The idea of making some portable interprocess binary files is attractive but seems very complicated to implement. Best, Ion