  PROCEDURE dfp$set_terminated_status
    (    p_queue_interface_table: dft$p_queue_interface_table;
         queue_index: dft$queue_index;
     VAR status: ost$status);

    VAR
      p_cpu_queue_header: ^dft$cpu_queue_header,
      server_mainframe: pmt$mainframe_id;

    p_cpu_queue_header := ^p_queue_interface_table^.queue_directory.
          cpu_queue_pva_directory [queue_index].p_cpu_queue^.queue_header;
    server_mainframe := p_cpu_queue_header^.destination_mainframe_name;
    IF (p_cpu_queue_header^.partner_status.server_state =
          dfc$terminated) AND (NOT p_cpu_queue_header^.partner_status.
          users_wait_on_terminated_server) THEN
      osp$set_status_abnormal (dfc$file_server_id, dfe$server_has_terminated,
            server_mainframe, status);
    ELSE
      osp$set_status_abnormal (dfc$file_server_id, dfe$server_not_active,
          server_mainframe, status);
    IFEND;

  PROCEND dfp$set_terminated_status;
?? PUSH (LISTEXT := ON) ??
*copyc dfd$driver_queue_types
*copyc dft$cpu_queue
*copyc dfe$error_condition_codes
*copyc osp$set_status_abnormal
*copyc ost$status
*copyc pmt$mainframe_id
?? POP ??













