
  PROCEDURE [INLINE] nlp$release_exclusive_access
    (VAR access_control: nlt$access_control);

?? PUSH (LISTEXT := ON) ??
?? RIGHT := 110 ??

    VAR
      old_access: nlt$access_control,
      new_access: nlt$access_control,
      actual_access: nlt$access_control,
      cs_status: osc$cs_successful .. osc$cs_variable_locked;

    new_access.value := 0;
    old_access := new_access;
    old_access.exclusive := TRUE;

    REPEAT
      #COMPARE_SWAP (access_control, old_access, new_access, actual_access, cs_status);
    UNTIL (cs_status = osc$cs_successful);
    osp$end_subsystem_activity;

  PROCEND nlp$release_exclusive_access;

*copyc nlt$access_control
*copyc ost$signature_lock
*copyc osp$end_subsystem_activity
?? POP ??
