You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A related or similar issue is not already marked as open
Another issue describing a similar feature has not already been marked as wontfix or closed
This feature is not already present in the software
===================================================== Feature Description
The kernel should use global handles instead of the current per-process handle scheme. This decouples the process block from handles, and greatly eases the ability of passing ownership of a kernel object to another process.
Feature Benefits
List the reasons why this feature would be beneficial
Eases implementation of ports
Eases process management and handle lifecycle
Use case examples
List examples where this feature could be useful for end users.
A service designates itself as such by communicating with a server for advertisement of it, and with a permissions server for access permissions of the service.
It then delegates a handle to the advertisement server, and sends an RPC request with permissions to the permissions server
Then, sessions can be used from the port by clients accessing them. All permission checks remain in userspace, and port access is only regulated by ownership of the handle
Additional information
Any additional information should be placed here.
The text was updated successfully, but these errors were encountered:
This problem might actually be possible to mitigate:
Consider a scenario where two process have a shared Connection between them. A special type of message can be transferred, where instead of data, a description of handles can be passed along. This can then be read by the receiving process and then signal the kernel to accept these handles, removing them from the sender and adding them to the receiver, or ignored, in which case no transfer will be done.
This requires signaling in a handle, and a per-table way to prevent handle reuse (a global incrementing counter? hash tables?) to signal when a handle is "safe" or not, or if it might be taken from the current context.
This will avoid any need for a global table, and allow for a (reasonably) simple way to transfer handle ownership.
Issue Checklist
wontfix
or closed=====================================================
Feature Description
The kernel should use global handles instead of the current per-process handle scheme. This decouples the process block from handles, and greatly eases the ability of passing ownership of a kernel object to another process.
Feature Benefits
List the reasons why this feature would be beneficial
Use case examples
List examples where this feature could be useful for end users.
Additional information
Any additional information should be placed here.
The text was updated successfully, but these errors were encountered: