?? TITLE := '    [INLINE] pup$allow_job_termination', EJECT ??

  PROCEDURE [INLINE] pup$allow_job_termination;

{ This allows the terminate_job command to take effect for jobs running below
{ the normal ring of recognition for terminate_job.  For jobs running >= the
{ terminate_job recognition ring, termination may occur at anytime.  The
{ utilities are not really interested in waiting, but pmp$wait allows the
{ terminate_job to take effect regardless of ring of execution.

    CONST
      puc$min_job_termination_ring = 4;

    VAR
      caller_id: ost$caller_identifier;

    #caller_id (caller_id);
    IF caller_id.ring < puc$min_job_termination_ring THEN
      pmp$wait (0, 0);
    IFEND;
  PROCEND pup$allow_job_termination;

*copyc ost$caller_identifier
*copyc pmp$wait
