anchor.diff:      Op = {ix_read,IxKey, Pos},
       Lock = read,
       case can_lock(Tid, Lock, Oid, {no, bad_luck}) of
  -	{yes, Default} ->
  -	    Reply = grant_lock(Tid, Op, Lock, Oid, Default),
  +	yes ->
  +	    Reply = grant_lock(Tid, Op, Lock, Oid),
   	    reply(From, Reply);
  -	{{no, Lucky},_} ->
  +	{no, Lucky} ->
   	    C = #cyclic{op = Op, lock = Lock, oid = Oid, lucky = Lucky},
   	    ?dbg("Rejected ~p ~p ~p ~p ~n", [Tid, Oid, Lock, Lucky]),
   	    reply(From, {not_granted, C});
  -	{{queue, Lucky},_} ->
  +	{queue, Lucky} ->
   	    ?dbg("Queued ~p ~p ~p ~p ~n", [Tid, Oid, Lock, Lucky]),
   	    %% Append to queue: Nice place for trace output
   	    ?ets_insert(mnesia_lock_queue,
  
positive.code: 	    loop(State);
  
  	{From, {is_locked, Oid}} ->
  	    Held = ?ets_lookup(mnesia_held_locks, Oid),
  	    reply(From, Held),
  	    loop(State);
  
  
negative.code: 	    loop(State)
      end.
  
  set_lock(Tid, Oid, Op) ->
      ?ets_insert(mnesia_tid_locks, {{Tid, Oid, Op}}),
      ?ets_insert(mnesia_held_locks, {{Oid, Op, Tid}}).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% Acquire locks
  