On Fri, Mar 20, 2015 at 7:29 PM, Christian Hergert <christ...@hergert.me>
wrote:


>
> This makes me happy. I don't think I've actually seen any of this stuff
> handled right. Not to mention that close() itself is basically broken in
> multi-threaded scenarios on Linux (Linus says to basically "just not worry
> about it" if you get EINTR, which may or may not have succeeded, and then
> the FD entry taken by another thread).
>
> What I would welcome, is a function that says "glib, close all FDs you
> know about or that you created". If all the libraries did that, at least it
> would be possible for applications to maybe, sorta, do the right thing.
> (That would push the synchronization responsibility during fork()/exec() to
> the application).
>

no, it wouldn't.

as a pango user, do i call pango_close_all_fds_before_exec() or does gtk?
or gdk? or ...

as a libfftw3 user, do i call fftw2_close_all_fds_before_exec() or does
some other library that also uses it? (which i may know that i am using, or
i may not (via loading some arbitrary module).

"call the close_before_exec() for all libraries that i know i explicitly
call into and pray that the rest do the right things for other libraries
that i don't explicitly use" .... this is a much weaker proposition.

what you want is "close_all_fds_before_exec()" that just gets the job done,
in one place, in the application.
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to