aboutsummaryrefslogtreecommitdiff
path: root/common/uapi/ipc.c
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2022-12-01 02:05:19 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2022-12-01 02:05:19 +0200
commit131af4eec38752a27e6e56579fbf76178e022ec1 (patch)
tree1940634f69a44395fc6945b25c5cbc8b68bba876 /common/uapi/ipc.c
parente25f1e7a8f8f2320546ad4950464713d85b47785 (diff)
downloadkmi-131af4eec38752a27e6e56579fbf76178e022ec1.tar.gz
kmi-131af4eec38752a27e6e56579fbf76178e022ec1.zip
start looking into memory handling
+ Now 10M alloc/frees succeed, which totals more memory than the virtual machine has, so no too obvious leaks are occuring. For future debugging speed, changed 10M to 1M. + Also quick fix to rpcs, stacks are now assigned. Not entirely sure why they worked before this, but good that I found it.
Diffstat (limited to 'common/uapi/ipc.c')
-rw-r--r--common/uapi/ipc.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/common/uapi/ipc.c b/common/uapi/ipc.c
index 93717e4..70f5fe7 100644
--- a/common/uapi/ipc.c
+++ b/common/uapi/ipc.c
@@ -60,8 +60,7 @@ static void do_ipc(struct tcb *t,
return_args(t, SYS_RET1(ERR_NOINIT));
clone_uvmem(r->proc.vmem, t->rpc.vmem);
- use_vmem(t->rpc.vmem);
- save_context(t);
+ enter_rpc(t);
set_return(t, r->callback);
attach_rpc(r, t);
@@ -122,7 +121,7 @@ SYSCALL_DEFINE4(ipc_resp)(struct tcb *t, sys_arg_t d0, sys_arg_t d1,
sys_arg_t d3)
{
struct tcb *r = get_cproc(t);
- load_context(t);
+ leave_rpc(t);
detach_rpc(r, t);
if (is_rpc(t))