17 Detecting and Handling Distribution Problems: Fault

This module is defunct. It has been replaced since Mozart 1.4.0 by new primitives in module DP (Section 11.3). The former functionality could be reproduced, but no effort has been made in that direction, because the new fault model is believed to be superior, although much simpler.

Only the installation of watchers on fault states tempFail and permFail is still functional. It is redefined as

fun {InstallWatcher Entity FStates WatcherProc}
   if {List.all FStates
       fun {$ S} {Member S [tempFail permFail]} end}
      proc {Loop FS}
         case FS of F|Fr then 
            if {Member F FStates} then 
               thread {WatcherProc Entity F(info:state)} end 
               {Loop Fr}
         else skip end 
      {DP.getFaultStream Entity thread {Loop} end}

Denys Duchier, Leif Kornstaedt, Martin Homik, Tobias Müller, Christian Schulte and Peter Van Roy
Version 1.4.0 (20080702)