anchor.diff:  %%
   %% %CopyrightBegin%
   %%
  -%% Copyright Ericsson AB 1996-2011. All Rights Reserved.
  +%% Copyright Ericsson AB 1996-2012. All Rights Reserved.
   %%
   %% The contents of this file are subject to the Erlang Public License,
   %% Version 1.1, (the "License"); you may not use this file except in
  
positive.code: 
  get_held_locks() ->
      ?MODULE ! {get_table, self(), mnesia_held_locks},
      receive {mnesia_held_locks, Locks} -> Locks  end.
  
  get_lock_queue() ->
      ?MODULE ! {get_table, self(), mnesia_lock_queue},
  
negative.code: release_lock({Tid, Oid, Op}) ->
      if
  	Op == write ->
  	    ?ets_delete(mnesia_held_locks, {Oid, Tid});
  	Op == read ->
  	    ets:delete_object(mnesia_held_locks, {{Oid, Tid}, Op})
      end.
  
  rearrange_queue([{_Tid, {Tab, Key}, _} | Locks]) ->
  