If the coordinator fails before sending preCommit messages, the cohort will unanimously agree that the operation was aborted.
The coordinator will not send out a doCommit message until all cohort members have ACKed that they are Prepared to commit.
This eliminates the possibility that any cohort member actually completed the transaction before all cohort members were aware of the decision to do so (an ambiguity that necessitated indefinite blocking in the two-phase commit protocol).
Keidar and Dolev's E3PC[2] refines Skeen's three-phase commit protocol and solves this problem in a way which always allows a quorum to make progress.
Three-phase commit assumes a network with bounded delay and nodes with bounded response times; In most practical systems with unbounded network delay and process pauses, it cannot guarantee atomicity.