aboutsummaryrefslogtreecommitdiffstats
path: root/init/init.c
AgeCommit message (Collapse)Author
2024-01-12init: add random seed & bug fixesturret
2024-01-11init: panic on keyboard interruptturret
also: change panic signal to be SIGKILL as sigint being caught would result in a loop
2024-01-11init: panic on child exit status !=0turret
also: modify log to exit status 0 on panic instead of 1 (only runs exit on panicmode respawn which shouldn't cause a fatal termination)
2023-12-18init: global init curl while not multithreadedturret
2023-12-18init: minor optimisationsturret
move spin locks to dedicated function so we can minimise repetition of code. now uses more C and less assembly. init.c uses 8192 * 512 as a maximum even if the stack rlimit is larger
2023-12-18*: enforce 78 char line limitturret
2023-12-18init: panic on no more subsystemsturret
2023-12-18subsys: use rlimits to determine stack sizeturret
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-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)