Advertisement
Guest User

Untitled

a guest
Jun 21st, 2017
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Erlang 0.88 KB | None | 0 0
  1. if
  2.                 MyReqClock > Req_Clock ->   %The requesting lock has higher clock priority
  3.                 From ! {ok, Ref, NewClock}, %send an ok message to it! 
  4.                 % NOT back to open state -> back to WAIT state!!!
  5.                 wait(Nodes, Master, Refs, Waiting, MyId, NewClock, MyReqClock); %and enter waiting state
  6.            
  7.                 MyReqClock == Req_Clock ->  %The req. clock has the same priority as me -> compare process IDs
  8.                 if
  9.                     MyId > Req_Id ->    %The requesting lock has higher priority
  10.                     From ! {ok, Ref, NewClock}, %send an ok message to it! 
  11.                     wait(Nodes, Master, Refs, Waiting, MyId, NewClock, MyReqClock); %and enter waiting state
  12.  
  13.                     true ->
  14.                     wait(Nodes, Master, Refs, [{From, Ref}|Waiting], MyId, NewClock, MyReqClock)
  15.                 end;
  16.                
  17.                 true -> %I have higher priority: I keep the request and I go on :p
  18.                 wait(Nodes, Master, Refs, [{From, Ref}|Waiting], MyId, NewClock, MyReqClock)
  19.             end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement