aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorastokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8>2009-10-20 18:14:43 +0000
committerastokes <astokes@ef72aa8b-4018-0410-8976-d6e080ef94d8>2009-10-20 18:14:43 +0000
commitaa9225481b0d8a3f29ab84d330f9a7013ffaae11 (patch)
treedd0029825044b6b115baae84bad801cfbd50029e /src/lib
parent70a43740bf4fe56437513379f68106b38d86933f (diff)
downloadsos-aa9225481b0d8a3f29ab84d330f9a7013ffaae11.tar.gz
- removing threaded, replaced with process based execution
- altered selinux plugin to give option to do fixfiles or not git-svn-id: svn+ssh://svn.fedorahosted.org/svn/sos/trunk@652 ef72aa8b-4018-0410-8976-d6e080ef94d8
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/sos/plugins/selinux.py7
-rw-r--r--src/lib/sos/plugintools.py8
2 files changed, 8 insertions, 7 deletions
diff --git a/src/lib/sos/plugins/selinux.py b/src/lib/sos/plugins/selinux.py
index 62def4fd..7aaa6755 100644
--- a/src/lib/sos/plugins/selinux.py
+++ b/src/lib/sos/plugins/selinux.py
@@ -18,13 +18,14 @@ import commands
class selinux(sos.plugintools.PluginBase):
"""selinux related information
"""
+ optionList = [("fixfiles", 'Print incorrect file context labels', 'slow', False)]
def setup(self):
# sestatus is always collected in checkenabled()
self.addCopySpec("/etc/selinux")
self.collectExtOutput("/usr/bin/selinuxconfig")
- self.eta_weight += 120 # this plugins takes 120x longer (for ETA)
- self.collectExtOutput("/sbin/fixfiles check")
-
+ self.eta_weight += 240 # this plugins takes 240x longer (for ETA)
+ if self.getOption('fixfiles'):
+ self.collectExtOutput("/sbin/fixfiles check")
self.addForbiddenPath("/etc/selinux/targeted")
return
diff --git a/src/lib/sos/plugintools.py b/src/lib/sos/plugintools.py
index 684cd9eb..9121db69 100644
--- a/src/lib/sos/plugintools.py
+++ b/src/lib/sos/plugintools.py
@@ -29,11 +29,11 @@
This is the base class for sosreport plugins
"""
from sos.helpers import *
-from threading import Thread, activeCount
import os, os.path, sys, string, glob, re, traceback
import shutil
from stat import *
from time import time
+from multiprocessing import Process
class PluginException(Exception): pass
@@ -426,7 +426,7 @@ class PluginBase:
"""
if threaded, is thread running ?
"""
- if self.thread: return self.thread.isAlive()
+ if self.thread: return self.thread.is_alive()
return None
def wait(self,timeout=None):
@@ -434,14 +434,14 @@ class PluginBase:
wait for a thread to complete - only called for threaded execution
"""
self.thread.join(timeout)
- return self.thread.isAlive()
+ return self.thread.is_alive()
def copyStuff(self, threaded = False, semaphore = None):
"""
Collect the data for a plugin
"""
if threaded and self.thread == None:
- self.thread = Thread(target=self.copyStuff, name=self.piName+'-thread', args = [True, semaphore] )
+ self.thread = Process(target=self.copyStuff, name=self.piName+'-thread', args = [True, semaphore] )
self.thread.start()
return self.thread