 PROCEDURE [INLINE] osp$fetch_locked_variable (VAR variable: integer;
    VAR value: integer);

?? PUSH (LISTEXT := ON) ??

    VAR
      result: 0 .. 2;

*IF NOT $true(osv$unix)
    REPEAT
      #compare_swap (variable, 613, 613, value, result);
    UNTIL result <> 2;
    IF result = 0 THEN
      value := 613;
    IFEND;
*ELSE

    value := variable;

*IFEND
  PROCEND osp$fetch_locked_variable;
?? POP ??
