e Synchronization Abstractions “Well, it just so happens that your friend here is only mostly dead. There’s a big difference between mostly dead and all dead.” – Miracle Max in The Princess Bride Matthew Flatt University of Utah Robert Bruce Findler University of Chicago When an individual task can be forcefully terminated at any time, cooperating tasks must communicate carefully. For example, if two tasks share an object, and if one task is terminated while it manipulates the object, the object may remain in an inconsistent or frozen state that incapacitates the other task. To support communication among terminable tasks, language run-time systems (and operating systems) provide kill-safe abstractions for inter-task communicakill-safe guarantee is available, however, for abstractions that are implemented outside the run-time system. In this paper, we show how a run-time system can support new e abstractions without requiring modification to the run-time system, and without r...