<feed xmlns='http://www.w3.org/2005/Atom'>
<title>hakurei/fst/app.go, branch develop</title>
<subtitle>low-level userspace tooling for Rosa OS</subtitle>
<id>http://src.rosa.moe/hakurei/atom/fst/app.go?h=develop</id>
<link rel='self' href='http://src.rosa.moe/hakurei/atom/fst/app.go?h=develop'/>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/'/>
<updated>2025-04-12T04:56:41Z</updated>
<entry>
<title>app/instance: wrap internal implementation</title>
<updated>2025-04-12T04:56:41Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-04-12T04:56:41Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=6309469e933a31a300fbf16d8e77f48dcee402d3'/>
<id>urn:sha1:6309469e933a31a300fbf16d8e77f48dcee402d3</id>
<content type='text'>
This reduces the scope of the fst package, which was growing questionably large.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>app: improve shim process management</title>
<updated>2025-04-06T18:55:17Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-04-05T14:51:39Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=e9a7cd526f4e5f0a8f7b18ad3682d2e3afbcb8ba'/>
<id>urn:sha1:e9a7cd526f4e5f0a8f7b18ad3682d2e3afbcb8ba</id>
<content type='text'>
This ensures a signal gets delivered to the process instead of relying on parent death behaviour.

SIGCONT was chosen as it is the only signal an unprivileged process is allowed to send to processes with different credentials.

A custom signal handler is installed because the Go runtime does not expose signal information other than which signal was received, and shim must check pid to ensure reasonable behaviour.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>app: run in native sandbox</title>
<updated>2025-03-24T16:52:49Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-03-24T16:52:49Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=5c4058d5ac7e7944973ca8216c258fc50c194e22'/>
<id>urn:sha1:5c4058d5ac7e7944973ca8216c258fc50c194e22</id>
<content type='text'>
Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>fst: remove empty file</title>
<updated>2025-02-21T10:27:08Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-02-21T10:27:08Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ff30a5ab5d12c79184581fe77621ea50c3d61cf6'/>
<id>urn:sha1:ff30a5ab5d12c79184581fe77621ea50c3d61cf6</id>
<content type='text'>
Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>app: separate instance from process state</title>
<updated>2025-02-21T07:06:24Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-02-21T07:00:31Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=c64b8163e79d47f1e710c1d067589bb393f8463c'/>
<id>urn:sha1:c64b8163e79d47f1e710c1d067589bb393f8463c</id>
<content type='text'>
This works better for the implementation.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>app: defer system.I revert</title>
<updated>2025-02-19T12:12:11Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-02-19T12:05:48Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=3c80fd2b0f907af7b179e9e307304c0fa52994a0'/>
<id>urn:sha1:3c80fd2b0f907af7b179e9e307304c0fa52994a0</id>
<content type='text'>
Just returning an error after a successful call of commit will leave garbage behind with no way for the caller to clean them. This change ensures revert is always called after successful commit with at least per-process state enabled.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>app: remove share method</title>
<updated>2025-02-19T07:20:25Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-02-19T04:41:06Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=ef81828e0c1ce6277e0b124f6062eab564dfeceb'/>
<id>urn:sha1:ef81828e0c1ce6277e0b124f6062eab564dfeceb</id>
<content type='text'>
This is yet another implementation detail from before system.I, getting rid of this vastly cuts down on redundant seal state.

Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
<entry>
<title>fst: move App interface declaration</title>
<updated>2025-02-18T13:36:45Z</updated>
<author>
<name>Ophestra</name>
<email>cat@gensokyo.uk</email>
</author>
<published>2025-02-18T13:36:45Z</published>
<link rel='alternate' type='text/html' href='http://src.rosa.moe/hakurei/commit/?id=bf9512733267e2781cf50070a6606d8f1a8bf5d9'/>
<id>urn:sha1:bf9512733267e2781cf50070a6606d8f1a8bf5d9</id>
<content type='text'>
Signed-off-by: Ophestra &lt;cat@gensokyo.uk&gt;
</content>
</entry>
</feed>
