-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix current door_call interface #11
Comments
Alternatively, multiple separate door_call routines:
Somehow the return type should know that it needs to check itself against the rbuf pointer and call dealloc if necessary. For cases 2 and 3, the underlying |
This includes #4 |
0f2156f does not do anything to resolve this, because if the server were to return memory to the client, it would never get unmapped. |
The trouble is that |
Fixed in #31 |
This is still marked as broken in the documentation. |
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 ato_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 adoor_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)
The text was updated successfully, but these errors were encountered: