Announcement

Collapse
No announcement yet.

Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • TheBlackCat
    replied
    Originally posted by gens View Post
    or you could just do it with a fork() and a pipe and have it work as intended with any init system, as pointed out
    https://sourceware.org/ml/libc-alpha.../msg00747.html
    should even be less LoC
    Except without dependency handling and without tracking of child processes. You know this, it has been explained to you dozens of times.

    Leave a comment:


  • gens
    replied
    or you could just do it with a fork() and a pipe and have it work as intended with any init system, as pointed out
    https://sourceware.org/ml/libc-alpha.../msg00747.html
    should even be less LoC

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Originally posted by Zan Lynx View Post
    Yes.

    And even if someone wants to use socket activation or the notify calls, those can be implemented without systemd libraries. You can take their code (its a single .c file) and drop it into your project (Legally!) and your project will use those abilities if they are present and it won't die if they aren't.
    Dbus activation is pretty standard thingy and doesn't rely on systemd in any way (in fact systemd relies on [k]dbus in this respect).

    Leave a comment:


  • Zan Lynx
    replied
    Originally posted by erendorn View Post
    But that does not make a dependency on systemd, as the services can still be run without.
    Yes.

    And even if someone wants to use socket activation or the notify calls, those can be implemented without systemd libraries. You can take their code (its a single .c file) and drop it into your project (Legally!) and your project will use those abilities if they are present and it won't die if they aren't.

    Leave a comment:


  • erendorn
    replied
    Originally posted by Vim_User View Post
    I am merely pointing out that systemd is not capable of doing what it is advertized to do unless the services it starts are specifically written to connect to systemd (read: introduce a dependency on systemd), either using its libraries or its DBus interfaces.
    But that does not make a dependency on systemd, as the services can still be run without.

    Leave a comment:


  • gens
    replied
    Originally posted by Nobu View Post
    There's a longer "short list" on the systemd introductory post, and a lot more (explanations of why systemd was created, what it can do, etc.). I recommend reading it if you haven't yet and you have a bit of time.
    aaaaaand back to square one

    Leave a comment:


  • Nobu
    replied
    There's a longer "short list" on the systemd introductory post, and a lot more (explanations of why systemd was created, what it can do, etc.). I recommend reading it if you haven't yet and you have a bit of time.

    Leave a comment:


  • Nobu
    replied
    Originally posted by Vim_User View Post
    So, which abilities are that? I can't see anything that didn't exist before, possibly not so integrated, but all needed tools were there already.
    Let's see...parallel OR (inclusive) ordered start-up of services (as configured); automatic restart of crashed services (if desired); socket, path, device, etc. activation of services; forked daemon are tracked in cgroups, so you don't get rogue daemon if the main service dies.

    These are just a few, the list could go on. These could maybe be done with other tools or scripts (some much less easily than others), but with systemd it's a simple unit file away. There are reasons you might not like this, I guess, but I haven't heard many good ones yet.

    Leave a comment:


  • Vim_User
    replied
    Originally posted by Zan Lynx View Post
    The point is that you have the ABILITY to use better methods and the hacks are smaller.
    So, which abilities are that? I can't see anything that didn't exist before, possibly not so integrated, but all needed tools were there already.

    Leave a comment:


  • Zan Lynx
    replied
    Originally posted by Vim_User View Post
    I am not asking anyone to fix anything. I am merely pointing out that systemd is not capable of doing what it is advertized to do unless the services it starts are specifically written to connect to systemd (read: introduce a dependency on systemd), either using its libraries or its DBus interfaces. Of course one could use hacks, but what would be the point of systemd in that case?
    The point is that you have the ABILITY to use better methods and the hacks are smaller. The hacks are now restricted to detecting startup.

    You can get rid of all the old hacks to detect service shutdown. Repeatedly grepping ps output to kill, kill, kill, kill, kill -9 is no longer needed.

    You can get rid of guessing if your service should be at runlevel 70, 72, 75, 80 or 79 and naming things stupid names like "S00aaa-really-first-startup".

    And oh yeah, things don't go psycho if you run service blah restart in one terminal and service blah shutdown in a second terminal.

    But blah, blah, blah, everything I was about to write is well covered in all of the FAQs.

    Leave a comment:

Working...
X