playbit / docs / runtime

Capabilities and Objects

Runtime resources are objects (PBSysObjectType). Guest code accesses objects through handles which have rights (PBSysHandle, PBSysRights).

Handle model

Rights

Rights are bit flags attached to each handle. Examples:

See PBSysRightsBits for a complete list

Signals and observation

Objects expose signal bits (PBSysSignals):

Observation is configured with PBSysObjectObserve:

Signal notifications are delivered as PBSysSignalEvent via PBSysEventPoll.

Handle transfer between threads

Thread messaging (PBSysThreadWrite / PBSysThreadRead) can transfer ownership of handles. Transferred handles move between thread handle tables and keep object identity.

PBSysThreadStart can also transfer an initial handle set to the new thread through PBSysThreadConfig.transferHandles.

Default handles for main thread

During main thread setup, runtime grants default capabilities including:

Exact availability can depend on startup flags and host platform.