
  PROCEDURE [INLINE] dfp$set_monitor_entry_alert
    (    queue_entry_location: dft$queue_entry_location);

    VAR
      p_cpu_queue_entry: ^dft$cpu_queue_entry,
      p_cpu_queue_header: ^dft$cpu_queue_header,
      p_driver_queue_entry: ^dft$driver_queue_entry,
      p_queue_interface_table: dft$p_queue_interface_table,
      status: syt$monitor_status;

    dfp$get_qit_p_from_direct_index (queue_entry_location.directory_index, p_queue_interface_table);
    p_cpu_queue_header := ^p_queue_interface_table^.
          queue_directory.cpu_queue_pva_directory
          [queue_entry_location.queue_index].p_cpu_queue^.queue_header;
    dfp$set_entry_assignment (queue_entry_location.queue_entry_index,
          p_cpu_queue_header^.queue_entry_assignment_table);

    dfp$fetch_queue_entry (p_queue_interface_table, queue_entry_location.queue_index, queue_entry_location.
          queue_entry_index, p_driver_queue_entry, p_cpu_queue_entry);
    IF (p_cpu_queue_header^.partner_status.server_state = dfc$terminated) OR
      (p_cpu_queue_header^.partner_status.server_state = dfc$awaiting_recovery) THEN
      { In these states we do extra checking to make sure the monitor task
      { has not aborted or terminated.
      tmp$check_taskid (p_cpu_queue_entry^.global_task_id, tmc$opt_return, status);
      IF NOT status.normal THEN
        p_cpu_queue_entry^.p_server_iocb^.condition := dfc$server_terminated;
        p_cpu_queue_entry^.p_server_iocb^.server_state := mmc$ss_waiting;
        display_integer_monitor (' File Server Monitor Task Unavailable - Q ',
           queue_entry_location.queue_index);
        display_integer_monitor (' Queue entry ',
           queue_entry_location.queue_entry_index);
        RETURN;
      IFEND;
    IFEND;
    p_driver_queue_entry^.flags.subsystem_action := TRUE;
    tmp$set_task_ready (p_cpu_queue_entry^.global_task_id, 0 {readying_task_priority},
          tmc$rc_ready_conditional_wi);
  PROCEND dfp$set_monitor_entry_alert;
?? PUSH (LISTEXT := ON) ??
*copyc dfd$driver_queue_types
*copyc dfi$monitor_display
*copyc dft$queue_entry_location
*copyc dfp$fetch_queue_entry
*copyc dfp$get_qit_p_from_direct_index
*copyc dfp$set_entry_assignment
*copyc mtp$error_stop
*copyc tmp$check_taskid
*copyc tmp$set_task_ready
?? POP ??

