Since I suspect hwloc may run on *more* platforms than ompi, I'd recommend
the guards.
The X11 sources actually go as far as the following (Stevens notes that
older systems used '1' before FD_CLOEXEC was specified).

#ifdef F_SETFD
#ifdef FD_CLOEXEC
        ret = fcntl (fd, F_SETFD, FD_CLOEXEC);
#else
        ret = fcntl (fd, F_SETFD, 1);
#endif /* FD_CLOEXEC */
#endif /* F_SETFD */

-Paul


On Wed, Apr 23, 2014 at 3:07 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com
> wrote:

> Actually, I just checked around: we have some unprotected FD_CLOEXEC code
> in OMPI was that committed 2010-08-24 that has never caused a problem.
>
> So I'm not thinking it should be necessary here, either.
>
>
> On Apr 23, 2014, at 5:55 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com>
> wrote:
>
> > Will do.
> >
> > On Apr 23, 2014, at 5:52 PM, Samuel Thibault <samuel.thiba...@inria.fr>
> wrote:
> >
> >> Jeff Squyres (jsquyres), le Wed 23 Apr 2014 21:05:55 +0000, a écrit :
> >>> Any objections to this patch?  In OMPI, we're seeing this fd leak into
> child processes.
> >>>
> >>> diff --git a/src/topology-linux.c b/src/topology-linux.c
> >>> index e934d4c..8c5fba1 100644
> >>> --- a/src/topology-linux.c
> >>> +++ b/src/topology-linux.c
> >>> @@ -4601,6 +4601,13 @@ hwloc_linux_component_instantiate(struct
> hwloc_disc_compo
> >>>    data->is_real_fsroot = 0;
> >>>  }
> >>>
> >>
> >> We probably want an #ifdef FD_CLOEXEC here, not all systems have it.
> >>
> >>> +  /* Since this fd stays open after hwloc returns, mark it as
> >>> +     close-on-exec so that children don't inherit it */
> >>> +  if (fcntl(root, F_SETFD, FD_CLOEXEC) == -1) {
> >>> +      close(root);
> >>> +      root = -1;
> >>> +      goto out_with_data;
> >>> +  }
> >>> #else
> >>>  if (strcmp(fsroot_path, "/")) {
> >>>    errno = ENOSYS;
> >>>
> >>> --
> >>> Jeff Squyres
> >>> jsquy...@cisco.com
> >>> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> >>>
> >>> _______________________________________________
> >>> hwloc-devel mailing list
> >>> hwloc-de...@open-mpi.org
> >>> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> >>>
> >>
> >> --
> >> Samuel
> >> Je suis maintenant possesseur d'un ordinateur portable Compaq Armada
> >> 1592DT avec port infra-rouge. Auriez-vous connaissance de programmes
> >> suceptibles d'utiliser ce port afin de servir de télécommande ?
> >> -+- JN in NPC : ben quoi, c'est pas à ça que ça sert ?
> >> _______________________________________________
> >> hwloc-devel mailing list
> >> hwloc-de...@open-mpi.org
> >> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
> >
> >
> > --
> > Jeff Squyres
> > jsquy...@cisco.com
> > For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> >
> > _______________________________________________
> > hwloc-devel mailing list
> > hwloc-de...@open-mpi.org
> > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>
>
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
>
> _______________________________________________
> hwloc-devel mailing list
> hwloc-de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-devel
>



-- 
Paul H. Hargrove                          phhargr...@lbl.gov
Future Technologies Group
Computer and Data Sciences Department     Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Reply via email to