mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 08:24:32 -08:00
The syscall helpers.h get_handle functions should be returing j6_err_invalid_arg if the handle they're given is j6_handle_invalid, unless explicitly set to optional.
37 lines
1.1 KiB
Modula-2
37 lines
1.1 KiB
Modula-2
# Mailboxes are objects that enable synchronous IPC via short message-passing
|
|
# of tagged handles.
|
|
|
|
object mailbox : object {
|
|
uid 99934ad04ece1e07
|
|
|
|
capabilities [
|
|
send
|
|
receive
|
|
close
|
|
]
|
|
|
|
method create [constructor]
|
|
method close [destructor cap:close]
|
|
|
|
# Send a message to the reciever, and block until a
|
|
# response is sent. Note that getting this response
|
|
# does not require the receive capability.
|
|
method call [cap:send] {
|
|
param tag uint64 [inout]
|
|
param subtag uint64 [inout]
|
|
param give_handle ref object [optional inout handle]
|
|
}
|
|
|
|
# Respond to a message sent using call, and wait for another
|
|
# message to arrive. Note that this does not require the send
|
|
# capability. A reply tag of 0 skips the reply and goes directly
|
|
# to waiting for a new message.
|
|
method respond [cap:receive] {
|
|
param tag uint64 [inout]
|
|
param subtag uint64 [inout]
|
|
param give_handle ref object [optional inout handle]
|
|
param reply_tag uint64 [inout]
|
|
param flags uint64
|
|
}
|
|
}
|