aboutsummaryrefslogtreecommitdiffstats
path: root/init
AgeCommit message (Collapse)Author
2023-12-18init: panic on no more subsystemsturret
2023-12-18subsys: decrement subsystem count on subsys terminationturret
2023-12-18subsys: implement subsystem respawningturret
2023-12-18panic: add second cut-here for debug & respawnonlyturret
2023-12-18subsys: use rlimits to determine stack sizeturret
2023-12-18panic: use exit_group instead of exitturret
2023-12-18panic: fix memory leakturret
2023-12-18init: token logicturret
(also add loglevel for failed to reap message) token is required and init will panic without TOKEN in the environment
2023-12-18log: add panic featturret
rearrange print to use internal vaprint to accomadate print added additional options to vaprint (nolock, noparsecolon, etc) use subsystem modes to accomadate restarting
2023-12-03subsys: add mode variable & some helper funcsturret
2023-12-02util: remove libsl `die`turret
potential copyright violations?? doesnt matter anyway since i'm going to implement my own panic soon which should address the downfalls of a generic `die`
2023-11-24log: remove unused variableturret
2023-11-24misc: subsys upgrade, log timestampsturret
(log) - create LOGLEVEL constant numbers - implement CONSOLE_LOGLEVEL - color array now uses loglevel constants - timestamp now shown (thanks util-linux) (init) - register mainpid - hello world print - fix process reaper to refer to subsys when reaping (subsys) - create maximum subsystem count - create subsystem table - add debugging prints to subsystem entry and termination - create function to handle process termination (unmap stack, free subsystem malloc, clear entry in table) - disable subsystem inception - change die references to fail with print - supply clone with signal to send on termination (SIGCHLD)
2023-11-19misc: minor bugs and commentsturret
sprinkle a little bit of commenting throughout the codebase. hopefully i dont regret what i've written - clone: bottom of stack is passed through - print: write newline at end of message - initcall: functions return void type very basic net startup. hopefully i dont regret implementing the websocket protocol myself in a language as holy as C.
2023-11-19Initial committurret
- create subsystem system using clone syscall, shared memory, shared file descriptors - printk-like logging facility (TODO: console loglevel) - initcall system (like linux kernel) TODO: determine license factors: linker.ld, linux kernel licensing (some ideas are more liberally taken rather than paraphrased)