1. with Central_Server; use Central_Server; 
  2.  
  3. package body Hold_when_Busy is 
  4.  
  5.    protected body Busy_Nodes is 
  6.  
  7.       entry Hold (Job : Jobs; Diverge_Column : out Natural_Array) 
  8.         when No_of_Busy_Nodes < Utilized_Cores is 
  9.  
  10.       begin 
  11.          requeue Server.Compute; 
  12.       end Hold; 
  13.  
  14.       procedure Inc is 
  15.  
  16.       begin 
  17.          No_Of_Busy_Nodes := CPU_Range'Succ (No_Of_Busy_Nodes); 
  18.       end Inc; 
  19.  
  20.       procedure Dec is 
  21.  
  22.       begin 
  23.          No_Of_Busy_Nodes := CPU_Range'Pred (No_Of_Busy_Nodes); 
  24.       end Dec; 
  25.  
  26.    end Busy_Nodes; 
  27.  
  28. end Hold_when_Busy;