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.
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.
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
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_DIRECTORYLennart 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.