
  PROCEDURE [INLINE] osp$clear_locked_variable
    (VAR variable: {Input, Output} integer;
         initial_best_guess: integer);

    VAR
      initial: integer,
      result: 0 .. 2;

    initial := initial_best_guess;

  /swap_in_zero/
    REPEAT
      #COMPARE_SWAP (variable, initial, 0, initial, result);
    UNTIL result = 0;
  PROCEND osp$clear_locked_variable;

