<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gbos.git/c/kill.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/kill.c?h=master</id>
<link rel='self' href='https://git.sl0p.foo/gbos.git/atom/c/kill.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>kill + ps: implement SYS_KILL (pid 1 immortal) and a ps tool</title>
<updated>2026-07-16T09:10:45Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-07-16T09:10:45Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/gbos.git/commit/?id=2d3597c3a02f821bb364b8ecc23fc5949fca738d'/>
<id>urn:sha1:2d3597c3a02f821bb364b8ecc23fc5949fca738d</id>
<content type='text'>
- PCB gains PROC_PROG (running program id), set by exec, inherited on fork.
- sys_kill(pid): reject pid 1 (immortal) and unknown/dead pids; mark the target
  zombie, reparent its children to init, wake its parent if blocked in wait;
  schedule away if a process kills itself. Reuses FindPcbByPid/ReparentToInit.
- sys_ps(slot,buf)-&gt;{pid,state,prog}; sys_progname(id) via NameTable reverse
  lookup. NameTable gains sh/ps/kill.
- libc: kill/psget/progname; tools ps (pid state cmd) and kill &lt;pid&gt;.
- verified: ps lists sh(B)+ps(R); kill 1 refused; kill 42 fails.
</content>
</entry>
</feed>
