kernel: use correct thread ID when server queue is full

Instead of queueing the client thread number inside the server, queue
the server's thread number inside the server.

This prevents many spooky messages that were occurring when server
queues got full.

Signed-off-by: Sean Cross <sean@xobs.io>
This commit is contained in:
Sean Cross 2021-03-24 17:23:39 +08:00
parent ca24b74cd2
commit b967712e5f

View file

@ -156,7 +156,7 @@ fn send_message(pid: PID, thread: TID, cid: CID, message: Message) -> SysCallRes
klog!("error remembering server message: {:?}", e);
ss.server_from_sidx_mut(sidx)
.expect("server couldn't be located")
.return_available_thread(thread);
.return_available_thread(server_tid);
e
})?
} else {
@ -179,7 +179,7 @@ fn send_message(pid: PID, thread: TID, cid: CID, message: Message) -> SysCallRes
ss.ready_thread(server_pid, server_tid).map_err(|e| {
ss.server_from_sidx_mut(sidx)
.expect("server couldn't be located")
.return_available_thread(thread);
.return_available_thread(server_tid);
e
})?;