diff --git a/make.py b/make.py index c299387..bb8336c 100644 --- a/make.py +++ b/make.py @@ -144,11 +144,14 @@ def run_cmd_queue(cmd_queue:Queue,cpu_num:int=cpu_count()): process_list.append(p) for i in process_list: i.join() + # 消耗掉所有数据防止进程无法退出 + while not cmd_queue.empty(): + cmd_queue.get() while not return_list.empty(): i=return_list.get() if(not i[1]): print(f"子进程 [{i[0]}] 运行失败") - exit(-1) + sys.exit(-1) # 保证目标都存在 @@ -207,7 +210,7 @@ def build_target(src:list): print(f"链接 {dst}") ret=os.system(cmd) if(ret): - exit() + sys.exit(-1) def main(): diff --git a/make_riscv.py b/make_riscv.py index 1f61170..1c4bf3a 100644 --- a/make_riscv.py +++ b/make_riscv.py @@ -159,11 +159,14 @@ def run_cmd_queue(cmd_queue:Queue,cpu_num:int=cpu_count()): process_list.append(p) for i in process_list: i.join() + # 消耗掉所有数据防止进程无法退出 + while not cmd_queue.empty(): + cmd_queue.get() while not return_list.empty(): i=return_list.get() if(not i[1]): print(f"子进程 [{i[0]}] 运行失败") - exit(-1) + sys.exit(-1) # 保证目标都存在 @@ -226,7 +229,7 @@ def build_target(src:list): print(f"链接 {dst}") ret=os.system(cmd) if(ret): - exit() + sys.exit()