Make sure pids are appropriately removed from portage.process.spawned_pids.
authorZac Medico <zmedico@gentoo.org>
Thu, 1 Mar 2007 20:49:33 +0000 (20:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 1 Mar 2007 20:49:33 +0000 (20:49 -0000)
svn path=/main/trunk/; revision=6111

pym/emerge/__init__.py

index 1486f4c5e8cfbb7b43a3474afee326911ac82d42..5ecba4aa8864fdb8d33adaf1bf589b990ccd63be 100644 (file)
@@ -4020,13 +4020,13 @@ def action_sync(settings, trees, mtimedb, myopts, myaction):
                                        # This is the same code rsync uses for timeout.
                                        exitcode = 30
                                else:
-                                       if mypids:
-                                               portage.process.spawned_pids.remove(mypids[0])
                                        if exitcode != os.EX_OK:
                                                if exitcode & 0xff:
                                                        exitcode = (exitcode & 0xff) << 8
                                                else:
                                                        exitcode >> 8
+                               if mypids:
+                                       portage.process.spawned_pids.remove(mypids[0])
                                if content:
                                        try:
                                                servertimestamp = time.mktime(time.strptime(