From: Zac Medico Date: Fri, 4 Jan 2013 04:25:15 +0000 (-0800) Subject: Enable FD_CLOEXEC for lock fd. X-Git-Tag: v2.2.0_alpha150~45 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=628048d69acf0fda3adcf89793b1936ab70cad0e;p=portage.git Enable FD_CLOEXEC for lock fd. --- diff --git a/pym/portage/locks.py b/pym/portage/locks.py index 59fbc6ec0..ed9238d58 100644 --- a/pym/portage/locks.py +++ b/pym/portage/locks.py @@ -1,5 +1,5 @@ # portage: Lock management code -# Copyright 2004-2012 Gentoo Foundation +# Copyright 2004-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __all__ = ["lockdir", "unlockdir", "lockfile", "unlockfile", \ @@ -207,6 +207,15 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, waiting_msg=waiting_msg, flags=flags) if myfd != HARDLINK_FD: + + try: + fcntl.FD_CLOEXEC + except AttributeError: + pass + else: + fcntl.fcntl(myfd, fcntl.F_SETFL, + fcntl.fcntl(myfd, fcntl.F_GETFL) | fcntl.FD_CLOEXEC) + _open_fds.add(myfd) writemsg(str((lockfilename,myfd,unlinkfile))+"\n",1)