Synchronous and Asynchronous Handling of Abnormal Events in the µSystem (1992)
| Citations: | 5 - 0 self |
BibTeX
@MISC{Buhr92synchronousand,
author = {Peter A. Buhr and Hamish I. MacDonald and C. Robert Zarnke},
title = {Synchronous and Asynchronous Handling of Abnormal Events in the µSystem},
year = {1992}
}
OpenURL
Abstract
This paper presents a general model for dealing with abnormal events during program execution and describes how this model is implemented in the System. (The System is a library of C definitions that provide light-weight concurrency on uniprocessor and multiprocessor computers running the UNIX operating system. ) Two different techniques can be used to deal with an abnormal event: an exception, which results in an exceptional change in control flow from the point of the abnormal event; and an intervention, which is a routine call from the point of the abnormal event that performs some corrective action. Users can define named exceptions and interventions in conjunction with ones defined by the System. Exception handlers and intervention routines for dealing with abnormal events can be defined/installed at any point in a program. An exception or intervention can then be raised or called, passing data about the abnormal event and returning results for interventions. Interventions can also be activated in other tasks, like a UNIX signal. Such asynchronous interventions may interrupt a task's execution and invoke the specified intervention routine. Asynchronous interventions are found to be useful to get another task's attention when it is not listening through the synchronous mechanism







