Skip to content

Fix current door_call interface #11

Description

@robertdfrench

The current door_call interface is sortof busted -- it doesn't handle rbuf correctly, or cleanly.

I think we need a DoorArgumentsBuffer type which has a to_door_args() method that will emit the current type. That way we still can have a single thing to own each of these buffers -- if folks don't want or need to use that, they can construct a door_args_t themselves.

If rbuf.ptr() doesn't match the storage allocated for rbuf by the DoorArgumentsBuffer, then somebody will need to deallocate the old rbuf (since it wasn't used) and munmap the new rbuf (since it was mapped into the client's address space by the kernel) once it is no longer needed.

Originally posted by @robertdfrench in #6 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions