<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/internal/system, branch master</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/internal/system?h=master</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/internal/system?h=master'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-10-18T11:33:37Z</updated>
<entry>
<title>internal/system: file-based big lock</title>
<updated>2026-10-18T11:33:37Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-10-18T11:33:03Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=1a7b909f971dee8c215cf1877cd95a3d690730e1'/>
<id>urn:sha1:1a7b909f971dee8c215cf1877cd95a3d690730e1</id>
<content type='text'>
Simultaneous commits or reverts can race if they have overlapping
targets. This big lock synchronises entry into the Commit and Revert
critical sections across all cmd/hakurei processes.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/system: skip superfluous chmod</title>
<updated>2026-10-13T13:58:19Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-10-13T13:58:19Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=fadb42ec8daeeb8a576582d274cd4aeb64e535c0'/>
<id>urn:sha1:fadb42ec8daeeb8a576582d274cd4aeb64e535c0</id>
<content type='text'>
A successful chmod clobbers acl mask, breaking the fast path. This
change also fixes the ACL race.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/acl: skip superfluous acl_set_file</title>
<updated>2026-10-13T09:55:52Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-10-13T09:55:52Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=0abf367b1334b76f5e8f989cf0c07b5d00b25868'/>
<id>urn:sha1:0abf367b1334b76f5e8f989cf0c07b5d00b25868</id>
<content type='text'>
This slightly reduces startup latency.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>all: apply modernisers</title>
<updated>2026-06-08T05:58:24Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-06-08T05:19:11Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=f869ff95a12756de97827b4afd93763f9661f144'/>
<id>urn:sha1:f869ff95a12756de97827b4afd93763f9661f144</id>
<content type='text'>
Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>hst: remove enablement json adapter</title>
<updated>2026-04-10T11:47:30Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-10T11:39:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=560cb626a1a8f7d4bfca5d30f262cc90fb5d4608'/>
<id>urn:sha1:560cb626a1a8f7d4bfca5d30f262cc90fb5d4608</id>
<content type='text'>
The go116 behaviour of built-in new function makes this cleaner.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>all: use filepath</title>
<updated>2026-03-30T09:24:53Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-30T09:15:56Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=a6600be34ad812ff13c89f45c3cadaac6d994e67'/>
<id>urn:sha1:a6600be34ad812ff13c89f45c3cadaac6d994e67</id>
<content type='text'>
This makes package check portable, and removes nonportable behaviour from package pkg, pipewire, and system. All other packages remain nonportable due to their nature. No latency increase was observed due to this change on amd64 and arm64 linux.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>all: raise timeout defaults</title>
<updated>2026-03-17T08:04:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-17T08:02:36Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=420c721c7da46ab1c633b019441b7b623215fd12'/>
<id>urn:sha1:420c721c7da46ab1c633b019441b7b623215fd12</id>
<content type='text'>
This avoids timing out on systems running very slowly.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/stub: move from container</title>
<updated>2026-03-17T07:09:14Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-17T07:09:14Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=bac583f89edd1360150143ff51f7264c01aa69ec'/>
<id>urn:sha1:bac583f89edd1360150143ff51f7264c01aa69ec</id>
<content type='text'>
This package solves a very specific stubbing use case, in a less than elegant manner.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>check: move from container</title>
<updated>2026-03-17T06:39:03Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-17T06:35:58Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=6d015a949e27f20c86409c7d78053f0b0493f165'/>
<id>urn:sha1:6d015a949e27f20c86409c7d78053f0b0493f165</id>
<content type='text'>
This package is not container specific, and widely used across the project.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/pipewire: inform conn of blocking intent</title>
<updated>2025-12-18T15:00:33Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-12-18T14:51:47Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ce06b7b66386f592df26ca089b470cc5b40ecd39'/>
<id>urn:sha1:ce06b7b66386f592df26ca089b470cc5b40ecd39</id>
<content type='text'>
The interface does not expose underlying kernel notification mechanisms. This change removes the need to poll in situations were the next call might block.

This is made cumbersome by the SyscallConn interface left over from a previous implementation, it will be replaced in a later commit as the current implementation does not make use of any net.Conn methods other than Close.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
</feed>
