On Tue, Jun 17, 2014 at 12:24 AM, Lennart Poettering <[email protected] > wrote:
> On Mon, 16.06.14 21:32, Geunsik Lim ([email protected]) wrote: > > > Hi all, > > > > Recently, i checked that there are some of the "close_all_fds" functions > > as follows > > Why we Systemd run this functions? Whey this functions need Systemd's > > management? > > > > invain@u1204lgs:/sandbox/tizentvfolder/systemd$ grep -R "close_all_fds" > ./* > > ./src/nspawn.c: close_all_fds(NULL, 0); > > ./src/util.c:int close_all_fds(const int except[], unsigned n_except) { > > ./src/util.c: close_all_fds(NULL, 0); > > ./src/main.c: close_all_fds(NULL, 0); > > ./src/spawn-agent.c: close_all_fds(NULL, 0); > > ./src/execute.c: err = close_all_fds(socket_fd >= 0 ? > > &socket_fd : fds, > > ./src/execute.c: err = close_all_fds(fds, n_fds); > > ./src/util.h:int close_all_fds(const int except[], unsigned n_except); > > David is right, this is really just a safety net, and particularly > useful when one of our tools is invoked from arbitrary code that might > not be written cleanly. > It seems that a goal of close_all_fds() is garbage collector to guarantee available file descriptors for new fopen() system call. Nowadays, the modern computer system is multi-process/multi-thread scheme more than single-process/multi-thread. Does systemd have to care the number of "open file size"? Actually, Is this function need for safety net? For example, invain@u1204lgs:/opt/git-systemd$ ulimit -n 1024 If Systemd does not execute the close_all_fds() functions, What will be happened in real environment? On the other hand, if systemd have to not close more than two file descriptors(e.g. 5, 17, 19) for some case to release Linux distribution based on Systemd, can we use close_all_fds(except, ***)? In this case, Do we have to specify withclose_all_fds(except, 3 + 19)? Thanks, > > Lennart > > -- > Lennart Poettering, Red Hat > -- ---- Best regards, Geunsik Lim, Samsung Electronics http://leemgs.fedorapeople.org ---- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
_______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
