def aggregate_issues(conf, main_section, debug):
log.info("<STR_LIT>")<EOL>targets = aslist(conf.get(main_section, '<STR_LIT>'))<EOL>queue = multiprocessing.Queue()<EOL>log.info("<STR_LIT>" % len(targets))<EOL>processes = []<EOL>if debug:<EOL><INDENT>for target in targets:<EOL><INDENT>_aggregate_issues(<EOL>conf,<EOL>main_section,<EOL>target,<EOL>queue,<EOL>conf.get(target, '<STR_LIT>')<EOL>)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>for target in targets:<EOL><INDENT>proc = multiprocessing.Process(<EOL>target=_aggregate_issues,<EOL>args=(conf, main_section, target, queue, conf.get(target, '<STR_LIT>'))<EOL>)<EOL>proc.start()<EOL>processes.append(proc)<EOL>time.sleep(<NUM_LIT:1>)<EOL><DEDENT><DEDENT>currently_running = len(targets)<EOL>while currently_running > <NUM_LIT:0>:<EOL><INDENT>issue = queue.get(True)<EOL>if isinstance(issue, tuple):<EOL><INDENT>completion_type, args = issue<EOL>if completion_type == SERVICE_FINISHED_ERROR:<EOL><INDENT>target, e = args<EOL>log.info("<STR_LIT>")<EOL>for process in processes:<EOL><INDENT>process.terminate()<EOL><DEDENT>raise RuntimeError(<EOL>"<STR_LIT>".format(target))<EOL><DEDENT>currently_running -= <NUM_LIT:1><EOL>continue<EOL><DEDENT>yield issue<EOL><DEDENT>log.info("<STR_LIT>")<EOL>
Return all issues from every target.