M io_uring/cqe.ha => io_uring/cqe.ha +4 -4
@@ 14,9 14,9 @@ export fn cqe_seen(ring: *io_uring, cqe: *cqe) void = cq_advance(ring, 1);
// returned CQE to [[cqe_seen]] to advance the queue.
export fn wait(ring: *io_uring) (*cqe | error) = {
match (get_cqe(ring, 0, 1)) {
- case err: error =>
+ case let err: error =>
return err;
- case cq: nullable *cqe =>
+ case let cq: nullable *cqe =>
assert(cq != null); // XXX: Correct?
return cq: *cqe;
};
@@ 101,9 101,9 @@ fn get_cqe(
match (rt::io_uring_enter(ring.fd,
submit, wait, flags: uint, null)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case n: uint =>
+ case let n: uint =>
submit -= n;
};
};
M io_uring/queue.ha => io_uring/queue.ha +3 -3
@@ 22,7 22,7 @@ export fn must_get_sqe(ring: *io_uring) *sqe = {
match (get_sqe(ring)) {
case null =>
abort("I/O queue full");
- case sq: *sqe =>
+ case let sq: *sqe =>
return sq;
};
};
@@ 85,9 85,9 @@ fn do_submit(
if (needs_enter(ring, &flags) || wait != 0) {
match (rt::io_uring_enter(ring.fd,
submitted, wait, flags, null)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case n: uint =>
+ case let n: uint =>
return n;
};
} else {
M io_uring/register.ha => io_uring/register.ha +12 -12
@@ 11,7 11,7 @@ export fn register_buffers(ring: *io_uring, iov: []rt::iovec) (void | error) = {
assert(len(iov) <= types::UINT_MAX);
match (rt::io_uring_register(ring.fd, regop::REGISTER_BUFFERS,
iov: *[*]rt::iovec, len(iov): uint)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 21,7 21,7 @@ export fn register_buffers(ring: *io_uring, iov: []rt::iovec) (void | error) = {
export fn unregister_buffers(ring: *io_uring) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::UNREGISTER_BUFFERS, null, 0)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 34,7 34,7 @@ export fn register_files(ring: *io_uring, files: []int) (void | error) = {
assert(len(files) <= types::UINT_MAX);
match (rt::io_uring_register(ring.fd, regop::REGISTER_FILES,
files: *[*]int, len(files): uint)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 49,7 49,7 @@ export fn register_files_update(
assert(len(updates) <= types::UINT_MAX);
match (rt::io_uring_register(ring.fd, regop::REGISTER_FILES_UPDATE,
updates: *[*]files_update, len(updates): uint)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 59,7 59,7 @@ export fn register_files_update(
export fn unregister_files(ring: *io_uring) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::UNREGISTER_FILES, null, 0)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 70,7 70,7 @@ export fn unregister_files(ring: *io_uring) (void | error) = {
export fn register_eventfd(ring: *io_uring, fd: int) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::REGISTER_EVENTFD, &fd, 1)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 81,7 81,7 @@ export fn register_eventfd(ring: *io_uring, fd: int) (void | error) = {
export fn register_eventfd_async(ring: *io_uring, fd: int) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::REGISTER_EVENTFD_ASYNC, &fd, 1)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 91,7 91,7 @@ export fn register_eventfd_async(ring: *io_uring, fd: int) (void | error) = {
export fn unregister_eventfd(ring: *io_uring) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::UNREGISTER_EVENTFD, null, 0)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 116,7 116,7 @@ export fn register_personality(ring: *io_uring) int = {
regop::REGISTER_PERSONALITY, null, 0)) {
case rt::errno =>
abort("Unexpected io_uring REGISTER_PERSONALITY error");
- case i: int =>
+ case let i: int =>
return i;
};
};
@@ 126,7 126,7 @@ export fn register_personality(ring: *io_uring) int = {
export fn unregister_personality(ring: *io_uring, id: int) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::UNREGISTER_PERSONALITY, null, id: uint)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 138,7 138,7 @@ export fn unregister_personality(ring: *io_uring, id: int) (void | error) = {
export fn register_enable_rings(ring: *io_uring) (void | error) = {
match (rt::io_uring_register(ring.fd,
regop::REGISTER_ENABLE_RINGS, null, 0)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
@@ 152,7 152,7 @@ export fn register_restrictions(ring: *io_uring, res: []restriction) (void | err
assert(len(res) < types::UINT_MAX);
match (rt::io_uring_register(ring.fd, regop::REGISTER_RESTRICTIONS,
res: *[*]restriction, len(res): uint)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
case int => void;
};
M io_uring/setup.ha => io_uring/setup.ha +8 -8
@@ 6,9 6,9 @@ use rt;
// fields are initialized by the kernel.
export fn setup(entries: u32, params: *params) (io_uring | error) = {
const fd = match (rt::io_uring_setup(entries, params)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case fd: int =>
+ case let fd: int =>
yield fd;
};
@@ 36,9 36,9 @@ export fn setup(entries: u32, params: *params) (io_uring | error) = {
rt::PROT_READ | rt::PROT_WRITE,
rt::MAP_SHARED | rt::MAP_POPULATE,
fd, OFF_SQ_RING)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case ptr: *void =>
+ case let ptr: *void =>
yield ptr;
};
@@ 48,9 48,9 @@ export fn setup(entries: u32, params: *params) (io_uring | error) = {
rt::PROT_READ | rt::PROT_WRITE,
rt::MAP_SHARED | rt::MAP_POPULATE,
fd, OFF_CQ_RING)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case ptr: *void =>
+ case let ptr: *void =>
yield ptr;
};
@@ 67,9 67,9 @@ export fn setup(entries: u32, params: *params) (io_uring | error) = {
rt::PROT_READ | rt::PROT_WRITE,
rt::MAP_SHARED | rt::MAP_POPULATE,
fd, OFF_SQES)) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case ptr: *void =>
+ case let ptr: *void =>
yield ptr: *[*]sqe;
};
M io_uring/uring.ha => io_uring/uring.ha +1 -1
@@ 12,7 12,7 @@ export fn strerror(err: error) const str = {
match (err) {
case nobuffers =>
return "Buffer pool exhausted";
- case err: errors::error =>
+ case let err: errors::error =>
return errors::strerror(err);
};
};
M signalfd/signalfd.ha => signalfd/signalfd.ha +4 -4
@@ 37,9 37,9 @@ export fn signalfd(
flags: int,
) (int | errors::error) = {
match (rt::signalfd(fd, mask, flags)) {
- case fd: int =>
+ case let fd: int =>
return fd;
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
};
};
@@ 48,9 48,9 @@ export fn signalfd(
export fn readsignal(fd: int) (siginfo | errors::error) = {
let si = siginfo { ... };
match (rt::read(fd, &si, size(siginfo))) {
- case err: rt::errno =>
+ case let err: rt::errno =>
return errors::errno(err);
- case z: size =>
+ case let z: size =>
assert(z == size(siginfo));
return si;
};
M vdso/vdso.ha => vdso/vdso.ha +4 -4
@@ 41,7 41,7 @@ fn get_vdso_ctx() nullable *vdso_ctx = {
const eh = match (sys_infoehdr()) {
case null =>
return null;
- case x: *elf::header64 =>
+ case let x: *elf::header64 =>
yield x;
};
@@ 121,13 121,13 @@ fn vdso_checkver(ctx: *vdso_ctx, version: str, num: u32) bool = {
let cur = match (ctx.verdef) {
case null =>
return true;
- case vd: *elf::verdef64 =>
+ case let vd: *elf::verdef64 =>
yield vd;
};
const versym = match (ctx.versym) {
case null =>
return true;
- case vs: *[*]u16 =>
+ case let vs: *[*]u16 =>
yield vs[num] & 0x7ff;
};
for (cur != prev) {
@@ 149,7 149,7 @@ export fn getsym(symname: str, symver: str) nullable *void = {
const ctx = match (get_vdso_ctx()) {
case null =>
return null;
- case x: *vdso_ctx =>
+ case let x: *vdso_ctx =>
yield x;
};