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

Reply via email to