'Start the thread.'

def run(self):

    try:
        if (self.plugin_type == 'audit_all'):
            for plugin_name in self.w3af.plugins.get_plugin_list('audit'):
                plugin = self.w3af.plugins.get_plugin_inst('audit', plugin_name)
                tmp_result = []
                try:
                    tmp_result = plugin.audit_return_vulns(self.request)
                    plugin.end()
                except BaseFrameworkException as e:
                    om.out.error(str(e))
                else:
                    for r in tmp_result:
                        r.plugin_name = plugin_name
                    self.result.extend(tmp_result)
        else:
            plugin = self.w3af.plugins.get_plugin_inst(self.plugin_type, self.plugin_name)
            try:
                self.result = plugin.audit_return_vulns(self.request)
                plugin.end()
            except BaseFrameworkException as e:
                om.out.error(str(e))
            else:
                for r in self.result:
                    r.plugin_name = self.plugin_name
        self.ok = True
    except Exception as e:
        self.exception = e
    finally:
        self.event.set()
