We opened the fd a few lines above with default flags -- is the addition GETFD necessary?
https://github.com/open-mpi/hwloc/blob/master/src/topology-linux.c#L4595 On Apr 23, 2014, at 6:04 PM, Paul Hargrove <phhargr...@lbl.gov> wrote: > In order to preserve any existing flags, shouldn't this be more like: > int prev; > if ((-1 == (prev = fcntl(root, F_GETFD, 0)) || > (-1 == fcntl(root, F_SETFD, FD_CLOEXEC | prev))) > > > > > On Wed, Apr 23, 2014 at 2: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 > > > > -- > 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 > _______________________________________________ > 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/