3 ms·
So it's like a local service inetd. Since you seem to know a lot about it, could you answer my question? What linux-specific features are necessary? EDIT: I
by leif 15y ago
So it's like a local service inetd.
Since you seem to know a lot about it, could you answer my question? What linux-specific features are necessary?
EDIT: I don't know, I upvoted your comment, it was very helpful.
- asomiv 15y agoWhat the hell, why is my post downvoted? I wrote a very informative post. If someone disagrees with me then come clean and give me a rational reason, not just clicking on the downvote button! But to answer your question: no, it's not inetd. Inetd is very inefficient in terms of CPU and memory usage and has scalability issues thanks to the fact that it spawns a new process for every client. Systemd does not do that: it waits until someone connects to the socket, then starts the service and have the service handle all clients on the socket. Systemd then waits until the service has exited. The service can use I/O events or threads or whatever efficient mechanism to handle multiple clients on the server socket, all within a single process. This in itself does not require Linux-specific features. However the GNOME discussion is about depending on systemd which happens to be Linux-specific at the time for other reasons, not about GNOME wanting to be Linux-only (which is sensationalist headline). One of the reasons systemd is Linux-only is because it uses cgroups, which I explained here: http://news.ycombinator.com/item?id=2565801 http://news.ycombinator.com/item?id=2565801
- caf 15y agoinetd does not need to spawn a new process for every client; that is what happens if you specify "nowait", but you can specify "wait" and it will pass the listening socket to the spawned process.
- demallien 15y agoI can't speak for others, but I nearly downvoted you for the first sentence which was just a gratuitous snark. I ended up not downvoting you precisely because the rest of the post was informative.
- asomiv 15y agoThe first sentence is not a snark, it is a clarification. The question why systemd was invented instead of just using launchd had been raised in the past. Distributions avoided launchd because of licensing.
- krakensden 15y agohttp://article.gmane.org/gmane.comp.gnome.desktop/45050 http://article.gmane.org/gmane.comp.gnome.desktop/45050
- leif 15y agoThanks. Of these, some seem like they are linux-only features that are used, not linux-only features that are required (but I don't know specifics, maybe I'm wrong): - get_current_dir_name() - canonicalize_file_name() - /dev/urandom - /dev/char/*, /dev/disk/by-label/*, /dev/disk/by-uuid/* - openat() and friends - O_DIRECTORY
- krakensden 15y agoYeah, I'm not going to lie, lots of the things in that list are trivial. Lennart Poettering's position seems to be that it would be better for other systems to re-implement SystemD's interface than to port it, and in any case, he can't be bothered to do a port.
- sciurus 15y agoThe linux-only dependenices are listed at http://mail.gnome.org/archives/desktop-devel-list/2011-May/msg00447.html http://mail.gnome.org/archives/desktop-devel-list/2011-May/m...