<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gbos.git/c/spin.c, branch master</title>
<subtitle>gbos - a tiny Unix-flavored OS for the Game Boy Color (kernel, shell, coreutils in C, RAM filesystem)</subtitle>
<id>https://git.sl0p.foo/gbos.git/atom/c/spin.c?h=master</id>
<link rel='self' href='https://git.sl0p.foo/gbos.git/atom/c/spin.c?h=master'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/gbos.git/'/>
<updated>2026-07-17T22:38:38Z</updated>
<entry>
<title>refactor: c/ -&gt; usr/, compiled program blobs out of the source tree</title>
<updated>2026-07-17T22:38:38Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-17T22:38:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/gbos.git/commit/?id=ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c'/>
<id>urn:sha1:ba2d7ae1d7b319645b10aaa31a7f664f9f80c25c</id>
<content type='text'>
Userland sources live in usr/ (fits the Unix theme better than 'c').
SDCC output .bin blobs land in build/usr/ with the other build artifacts
instead of littering the source dir; programs.asm INCBINs them from there.
Byte-identical ROM.
</content>
</entry>
<entry>
<title>jobs: background execution (&amp;), non-blocking reap, spin demo</title>
<updated>2026-07-16T09:15:12Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-16T09:15:12Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/gbos.git/commit/?id=bb4f468b73c8a888bec1e5b2ba7f1575ab7f8456'/>
<id>urn:sha1:bb4f468b73c8a888bec1e5b2ba7f1575ab7f8456</id>
<content type='text'>
- sys_reap: nohang reap of a finished zombie child (-&gt; pid or 0).
- shell: 'cmd &amp;' launches in the background (prints [pid], no wait); reaps
  finished jobs at the prompt ([pid done]). Foreground now waits for its own
  child specifically (loops wait(), reporting bg completions meanwhile) so kill
  reports the right pid.
- spin: a process that yields forever - a target for ps/kill.
- verified: spin &amp;; ps shows it; kill &lt;pid&gt; removes just that one; immortal
  init; self-finishing bg worker reaped with [pid done].
</content>
</entry>
</feed>
