[kernel] Simplify mailbox code, and messages

A number of simplifications of mailboxes now that the interface is much
simpler, and synchronous.

* call and respond can now only transfer one handle at a time
* mailbox objects got rid of the message queue, and just have
  wait_queues of blocked threads, and a reply_to map.
* threads now have a message_data struct on them for use by mailboxes
This commit is contained in:
Justin C. Miller
2022-10-14 01:02:56 -07:00
parent e830a3d37b
commit 1a04310f80
12 changed files with 147 additions and 274 deletions

View File

@@ -11,11 +11,11 @@ namespace util {
template <typename T, unsigned N = 16>
class deque
{
public:
struct node { T items[N]; };
using list_type = linked_list<node>;
using node_type = typename list_type::item_type;
public:
class iterator
{
public: