Files
jsix_import/definitions/objects/thread.def
Justin C. Miller f1246f84e0 [kernel] Add capabilities to handles
This change finally adds capabilities to handles. Included changes:

- j6_handle_t is now again 64 bits, with the highest 8 bits being a type
  code, and the next highest 24 bits being the capability mask, so that
  programs can check type/caps without calling the kernel.
- The definitions grammar now includes a `capabilities [ ]` section on
  objects, to list what capabilities are relevant.
- j6/caps.h is auto-generated from object capability lists
- init_libj6 again sets __handle_self and __handle_sys, this is a bit
  of a hack.
- A new syscall, j6_handle_list, will return the list of existing
  handles owned by the calling process.
- syscall_verify.cpp.cog now actually checks that the needed
  capabilities exist on handles before allowing the call.
2022-01-28 01:54:45 -08:00

25 lines
443 B
Modula-2

object thread : kobject {
uid 11f23e593d5761bd
capabilities [
kill
]
method create [constructor] {
param process object process [cap:create_thread]
param stack_top address
param entrypoint address
}
method kill [destructor cap:kill]
method exit [static] {
param status int32
}
method pause [static]
method sleep [static] {
param until uint64
}
}