System XVI. BSD licensed replacement for systemd reddit / BSD ---------------------------------------------------------------------- phitheta43 · 2015-09-14 19:23 This doesn't even actually do anything right now. This is C, you can't do this: https://github.com/ServiceManager/ServiceManager/blob/master/app/resta rtd/unit.c#L21. This project is like 200 lines, why can't they write proper memory allocation routines? If you think a modular design is all that's needed to replace systemd then be prepared for random crashes and memory corruption. Good luck, maintainer! ---------------------------------------------------------------------- krwawobrody · 2015-09-14 20:07 What's wrong with that line? No error handling? ---------------------------------------------------------------------- phitheta43 · 2015-09-14 20:11 Yeah, the "allocated" memory is immediately modified without checking the return status. This project is supposed to be an *init* system. Like, the program that starts when your computer boots. What happens when the kernel kills this program because it's trying to access unallocated memory? Yeah. Not fun. ---------------------------------------------------------------------- philpirj · 2015-09-14 20:29 What's fun about its name is that XVI is a hidden ХУЙ, which is a mean word. System Dick, I like it! ---------------------------------------------------------------------- vasili111 · 2015-09-15 06:04 I also found discussion here: https://news.ycombinator.com/item?id=10212770 ---------------------------------------------------------------------- LTCoin · 2015-09-15 12:15 >If you think a modular design is all that's needed to replace systemd then be prepared for random crashes and memory corruption. In such a situation that the routine you see there fails, process tracking stops working. That being the core of restartd, your system becomes somewhat useless. Personally I do not see such great value in checking the return value of malloc() in a world where memory overcommit means even a 'valid' pointer might point not to memory but straight to SIGSEGV. Still, this seems to be a popular request, and I will begin checking malloc() return and backing out of operations where this fails. Do be aware, though, that 'self-healing' is one of the Four Motives of S16. If restartd crashes it will be immediately restarted by init and will be able to recover service state from the repository.