kepler: Make IPC multithreaded server ready
notYuriy opened this issue · 1 comments
notYuriy commented
As of now, the request-response loop is strictly thread-local: thread that has initiated an operation is the only thread that can get notified about it. The proposal is as follows:
- Make notification queues standalone objects. All system calls that assumed a notification queue would now accept a handle to a notification queue
- Make a shareable notification queue that will be based on MPMC atomic unbounded queue (there are a few out there).
- For passing objects, the same mailbox interface could be used, except there should be a way that each channel is accessed atomarically. Userspace would be responsible for allocation of channels in the mailbox.