
  PROCEDURE [INLINE] clp$find_utility_block
    (    utility_name: clt$utility_name;
     VAR block: ^clt$block;
     VAR block_in_current_task: boolean);

?? PUSH (LISTEXT := ON) ??

    block_in_current_task := TRUE;
    clp$find_current_block (block);
    WHILE block <> NIL DO
      CASE block^.kind OF
      = clc$utility_block =
        IF (utility_name = osc$null_name) OR (utility_name = block^.label) THEN
          RETURN;
        IFEND;
      = clc$task_block =
        block_in_current_task := FALSE;
        IF NOT block^.synchronous_with_parent THEN
          block := NIL;
          RETURN;
        IFEND;
      ELSE
        ;
      CASEND;
      block := block^.previous_block;
    WHILEND;

  PROCEND clp$find_utility_block;

*copyc clt$block
*copyc clt$utility_name
*copyc ost$status
?? POP ??
*copyc clp$find_current_block
*copyc osv$lower_to_upper
