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