<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/internal/uevent/uevent.go, branch develop</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/internal/uevent/uevent.go?h=develop</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/internal/uevent/uevent.go?h=develop'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2026-04-06T03:42:47Z</updated>
<entry>
<title>internal/uevent: optionally pass UUID during coldboot</title>
<updated>2026-04-06T03:42:47Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-04-06T02:43:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=cd0beeaf8ed5fb81ba20375517c7a3bf34fd27cd'/>
<id>urn:sha1:cd0beeaf8ed5fb81ba20375517c7a3bf34fd27cd</id>
<content type='text'>
This enables rejection of non-coldboot synthetic events.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: integrate error handling in event loop</title>
<updated>2026-03-30T15:10:14Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-30T14:49:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=91a2d4d6e1c0039f6b442c8c97b1aa809e09e33b'/>
<id>urn:sha1:91a2d4d6e1c0039f6b442c8c97b1aa809e09e33b</id>
<content type='text'>
There are many subtleties when recovering from errors in the event loop, and coldboot requires internals to drain the receive buffer as synthetic uevents are being arranged.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: separate recvmsg helper</title>
<updated>2026-03-29T17:53:26Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T17:53:26Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=b5592633f5b980970808fc5be43b0fb4f4d4e784'/>
<id>urn:sha1:b5592633f5b980970808fc5be43b0fb4f4d4e784</id>
<content type='text'>
This enables messages to be received separately.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/netlink: set receive buffer size</title>
<updated>2026-03-29T17:14:47Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T17:14:47Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=584e30216896fd4de6301f9cf937829e16d22c49'/>
<id>urn:sha1:584e30216896fd4de6301f9cf937829e16d22c49</id>
<content type='text'>
This is done by both systemd sd-device and AOSP ueventd to improve robustness. Rosa OS will still handle ENOBUFS via coldboot but a big buffer should mitigate this as well.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: handle state divergence</title>
<updated>2026-03-29T16:50:09Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T16:48:20Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=141958656f8a83a4f5703bd4890389dd1f180e0a'/>
<id>urn:sha1:141958656f8a83a4f5703bd4890389dd1f180e0a</id>
<content type='text'>
This requires the caller to arrange for a coldboot to happen, some time after this error is encountered, and to resume event processing.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/netlink: switch to recvmsg/sendmsg</title>
<updated>2026-03-29T14:36:00Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-29T14:34:53Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=648079f42cd872f16110e571ce34fdbd90f7c476'/>
<id>urn:sha1:648079f42cd872f16110e571ce34fdbd90f7c476</id>
<content type='text'>
These are more flexible than recvfrom/sendto.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: consume kernel-originated events</title>
<updated>2026-03-28T06:39:16Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-27T16:06:17Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ea014d6af2d1481ba05ffed2dddffeed370f6622'/>
<id>urn:sha1:ea014d6af2d1481ba05ffed2dddffeed370f6622</id>
<content type='text'>
These are not possible to cover outside integration vm. Extreme care is required when dealing with this method, so keep it simple.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: exclusive socket access</title>
<updated>2026-03-27T16:01:06Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-27T16:01:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=1b48484c169daa48a006f52f48766d358fa8f2bc'/>
<id>urn:sha1:1b48484c169daa48a006f52f48766d358fa8f2bc</id>
<content type='text'>
This is a much simplified mutex, since blocking is not required.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: nontrivial errors</title>
<updated>2026-03-27T15:07:56Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-27T15:07:56Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=30f459e690ca561d3932cb6efa0cf14ea53c25b2'/>
<id>urn:sha1:30f459e690ca561d3932cb6efa0cf14ea53c25b2</id>
<content type='text'>
These errors are best represented as JSON.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>internal/uevent: recoverable errors</title>
<updated>2026-03-27T13:58:16Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2026-03-27T13:58:16Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=8766fddcb3a8047673e513ce0d60c8c46edb5ba1'/>
<id>urn:sha1:8766fddcb3a8047673e513ce0d60c8c46edb5ba1</id>
<content type='text'>
This runs in the Rosa OS init, so recover as much as possible, as otherwise it is likely to require a full system reboot to resume event processing. The caller is responsible for reporting the error.

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