-
Dominik Bartkiewicz authored
Two jobs completing simultaneously leads to make_node_idle() returning before it has a chance to decrement node_ptr->owner_job_cnt, which can result in the node being "owned" by that user even through no jobs are running on it. Move the decrement block to the end at a fini label, and make sure all return paths pass through it. While moving that add a guard against node_ptr->owner_job_cnt underflowing. Bug 3771.
Dominik Bartkiewicz authoredTwo jobs completing simultaneously leads to make_node_idle() returning before it has a chance to decrement node_ptr->owner_job_cnt, which can result in the node being "owned" by that user even through no jobs are running on it. Move the decrement block to the end at a fini label, and make sure all return paths pass through it. While moving that add a guard against node_ptr->owner_job_cnt underflowing. Bug 3771.