From 5e4253fc06515c7838402c63b39ec855076a4afd Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Mon, 01 Apr 2024 17:31:14 +0200 Subject: [PATCH] Conservative updates for optional parameters We could go harder but it'd require breaking changes and I want to make those with a bit more thought. Signed-off-by: Drew DeVault --- ev/+linux/file.ha | 2 ++ ev/+linux/loop.ha | 2 +- ev/+linux/req.ha | 2 +- ev/dial/dial.ha | 4 ++-- ev/dial/resolve.ha | 2 +- diff --git a/ev/+linux/file.ha b/ev/+linux/file.ha index 0a4d53c8e18b2f9f34ee1bc5641c94a6cea9de52..8ba2e35e61d39b48ffde30dd402e335f08e24fc7 100644 --- a/ev/+linux/file.ha +++ b/ev/+linux/file.ha @@ -61,12 +61,14 @@ // Registers a file descriptor with an event loop. export fn register( loop: *loop, fd: io::file, + user: nullable *opaque = null, ) (*file | errors::error) = { const file = alloc(file { flags = fflags::NONE, fd = fd, ev = loop, op = op::NONE, + user = user, ... }); diff --git a/ev/+linux/loop.ha b/ev/+linux/loop.ha index 0ff4e4144ac530c3a388f964b24de867c6a344cd..0fbe9966ff388d1827d8aa2723716087114be945 100644 --- a/ev/+linux/loop.ha +++ b/ev/+linux/loop.ha @@ -67,7 +67,7 @@ // processed in this batch. export fn do( loop: *loop, cb: *dispatchcb, - user: nullable *opaque, + user: nullable *opaque = null, ) req = { const dispatch = alloc(ondispatch { cb = cb, diff --git a/ev/+linux/req.ha b/ev/+linux/req.ha index 6d1fc067f254f08a9de3361ccee1a3d83eece81a..dc2bb5160e7c2712ea33a2f33baa2e249922e17a 100644 --- a/ev/+linux/req.ha +++ b/ev/+linux/req.ha @@ -4,7 +4,7 @@ user: nullable *opaque, }; // Makes a new request object. -export fn mkreq(cancel: *cancelfn, user: nullable *opaque) req = { +export fn mkreq(cancel: *cancelfn, user: nullable *opaque = null) req = { return req { cancel = cancel, user = user, diff --git a/ev/dial/dial.ha b/ev/dial/dial.ha index 10f6f88bb7cb8dc3716b5b2babaf3f4e058e8b5e..1541495470ac8aee258d92adeaca9a4fea51628f 100644 --- a/ev/dial/dial.ha +++ b/ev/dial/dial.ha @@ -21,7 +21,7 @@ proto: str, address: str, service: str, cb: *dialcb, - user: nullable *opaque, + user: nullable *opaque = null, ) (ev::req | error) = { for (const p .. default_protocols) { if (p.name == proto) { @@ -47,7 +47,7 @@ loop: *ev::loop, proto: str, uri: *uri::uri, cb: *dialcb, - user: nullable *opaque, + user: nullable *opaque = null, ) (ev::req | error) = { if (uri.host is str && len(uri.host as str) > HOST_MAX) { return invalid_address; diff --git a/ev/dial/resolve.ha b/ev/dial/resolve.ha index bd61dfb839d46fe47610514be6605efac6fa4ad6..3be0d59d188cc79d03306be630f90178f58a33ec 100644 --- a/ev/dial/resolve.ha +++ b/ev/dial/resolve.ha @@ -36,7 +36,7 @@ proto: str, addr: str, service: str, cb: *resolvecb, - user: nullable *opaque + user: nullable *opaque = null ) (ev::req | error) = { // TODO: Reduce duplication with net::dial let state = alloc(resolve_state { -- 2.48.1