!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

424 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.144 Servers

Load older messages


SenderMessageTime
28 Jul 2025
@emilazy:matrix.orgemilyso a terminal-initiated build would raise the spawned builds to default but one from a background service wouldn't01:13:10
@jade_:matrix.orgjade_i would put "correct" in quotes tho01:13:13
@emilazy:matrix.orgemilyI think there is no inherent obstacle to doing this with capnproto01:13:18
@jade_:matrix.orgjade_since that is very not portable01:13:20
@emilazy:matrix.orgemilyit's pretty portable if you have a transport-agnostic RPC layer already01:13:32
@jade_:matrix.orgjade_and i worry that it might make debugging annoying01:13:33
@emilazy:matrix.orgemilythey're pretty comparable to Unix sockets, can even pass FDs01:13:39
@jade_:matrix.orgjade_* and i worry that it might make debugging/running one-off daemons annoying01:13:43
@emilazy:matrix.orgemilybut of course it does require everything to be using capnproto already01:13:51
@emilazy:matrix.orgemily(I assume Unix socket and over-the-network transports will need to coexist anyway for remote builds, so another local transport doesn't seem like too much additional complexity)01:14:19
@jade_:matrix.orgjade_are mach ports api compatible by presenting fds?01:14:22
@jade_:matrix.orgjade_* are mach ports api compatible by presenting an fd based interface?01:15:12
@emilazy:matrix.orgemilythey're not stream sockets, no01:15:21
@emilazy:matrix.orgemilythey would need implementing as a backend in capnproto01:15:39
@jade_:matrix.orgjade_ah. that's kiiiinda annoying in that it's more darwin only code, but if we can keep it contained it might be okay01:16:34
@emilazy:matrix.orgemilyideally it's Darwin code upstream in capnproto01:16:46
@emilazy:matrix.orgemily(and then some brief glue around the server/client boundaries in Lix to select the right one based on platform, but presumably this already needs abstracting for local vs. remote RPC)01:17:45
@emilazy:matrix.orgemilybut that's why quickly wrapping the daemon to try default/user-initiated QoS may produce more immediately useful data :)01:18:22
@jade_:matrix.orgjade_yes indeed. some inspection of the apis in absence of docs for non-objc-extended-universe apps is required i think.01:19:07
@emilazy:matrix.orgemilywhich APIs are you talking about? all of this stuff is lower level than Objective-C AFAIK01:20:11
@emilazy:matrix.orgemilyMach ports are very low-level; XPC is the higher-level IPC system built on top of them but I think Mach ports would likely be the right integration layer for Cap'n Proto. they're just very raw C APis to talk directly to the poor microkernel screaming endlessly at the heart of XNU01:21:39
@emilazy:matrix.orgemily QoS stuff is, uh, "there's an undocumented posix_spawn helper" 01:21:52
@raitobezarius:matrix.orgraitobezariusdon't forget to document these ideas in the issue trcaker01:22:05
@jade_:matrix.orgjade_bazel post suggests that you can't set the policy except via posix_spawn so you can't do it to existing processes or if you are fork/exec. I think theyre mistaken on that.01:22:08
@emilazy:matrix.orgemilyyes I think that's probably not true01:22:21
@emilazy:matrix.orgemilybut not totally sure01:22:35
@jade_:matrix.orgjade_ I have found a setiopolicy_np but idk what it does 01:22:41
@emilazy:matrix.orgemilyI mean01:22:43
@emilazy:matrix.orgemily I'm pretty sure you can just taskpolicy around the daemon invocation in the launchd service 01:22:51
@emilazy:matrix.orgemilyfor a quick test01:22:54

Show newer messages


Back to Room ListRoom Version: 10