POSIX shared memory between regular Linux and Wine processes?

Paul Gofman pgofman at codeweavers.com
Wed Jul 14 06:26:35 CDT 2021

Hi Sebastian,

    can you share any details on the supposed use case for that?

    Windows creates shared memory through file mappings [1]. File
mappings are translated into the analogous Unix file mappings (mmap()
allows to allocate shared memory backed by a file). For "anonymous"
named shared memory objects Wine creates a temporary file, otherwise it
is the file specified by the application. So if you want to share the
memory which is shared by the Windows app through named file you can
just share that memory with mmap() with that file.
    If you are thinking of somehow working with the app's private memory
as shared, it is not immediatley clear to me how that makes sense.




On 7/14/21 14:06, Sebastian M. Ernst wrote:
> Hi all,
> I could not find documentation and/or a working example, but a couple of
> "unfinished" discussions on the subject: Is it feasible / possible in
> any way, shape or form to literally share memory between a regular Linux
> process and a Wine process (on top of Linux) via POSIX shared memory? I
> am specifically talking about the `shmat`, `shmctl`, `shmdt` and
> `shmget` system calls. Has anyone around here ever done something like this?
> Thanks,
> Sebastian
> [1] https://en.wikipedia.org/wiki/Shared_memory#Support_on_Unix-like_systems

More information about the wine-devel mailing list