diff options
| author | Paul Buetow <paul@buetow.org> | 2008-05-26 22:14:52 +0000 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2008-05-26 22:14:52 +0000 |
| commit | 923b0503c91aa4a9c0bc94489caddf9ac94c5ad8 (patch) | |
| tree | 74bf4a51494085c9ecb107d3facc31bb585669b4 /sources/protocols/implementations/OnePhaseCommitProtocol.java | |
| parent | faee8241ff7972ceeb622e0793c655f301ef0bd0 (diff) | |
Two phase commit protocol works.
Diffstat (limited to 'sources/protocols/implementations/OnePhaseCommitProtocol.java')
| -rw-r--r-- | sources/protocols/implementations/OnePhaseCommitProtocol.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sources/protocols/implementations/OnePhaseCommitProtocol.java b/sources/protocols/implementations/OnePhaseCommitProtocol.java index a8d8d75..bc42c38 100644 --- a/sources/protocols/implementations/OnePhaseCommitProtocol.java +++ b/sources/protocols/implementations/OnePhaseCommitProtocol.java @@ -47,8 +47,10 @@ public class OnePhaseCommitProtocol extends VSAbstractProtocol { * @see protocols.VSAbstractProtocol#onClientReset() */ protected void onClientReset() { - pids.clear(); - pids.addAll(getVector("pids")); + if (pids != null) { + pids.clear(); + pids.addAll(getVector("pids")); + } } /* (non-Javadoc) @@ -58,7 +60,6 @@ public class OnePhaseCommitProtocol extends VSAbstractProtocol { if (pids == null) { pids = new ArrayList<Integer>(); pids.addAll(getVector("pids")); - } if (pids.size() != 0) { @@ -82,6 +83,8 @@ public class OnePhaseCommitProtocol extends VSAbstractProtocol { Integer pid = recvMessage.getIntegerObj("pid"); if (pids.contains(pid)) pids.remove(pid); + else + return; logg("ACK von Prozess " + pid + " erhalten!"); |
