
SCIOPTA - Real-Time Kernel
User’s Manual Manual Version 4.1 10-1
SCIOPTA - Real-Time Kernel
10 Error Handling
10 Error Handling
10.1 Introduction
SCIOPTA has many built-in error check functions. The following list shows some examples.
• When allocating a message it is checked if the requested buffer size is available and if there is still enough mem-
ory in the message pool.
• Process identities are verified in different kernel functions.
• Ownership of messages are checked.
• Parameters and sources of system calls are validated.
• The kernel will detect if messages and stacks have been over written beyond its length.
Contrary to most conventional real-time operating systems, SCIOPTA uses a centralized mechanism for error re-
porting, called Error Hook. In traditional real-time operating systems, the user needs to check return values of sys-
tem calls for a possible error condition. In SCIOPTA all error conditions will end up in the Error Hook. This
guarantees that all errors are treated and that the error handling does not depend on individual error strategies which
might vary from user to user.
10.2 Error Sequence
In SCIOPTA all error conditions will end up in an Error Hook. This guarantees that all errors are treated and that
the error handling does not depend on individual error strategies which might vary from user to user.
There are two error hooks available:
A) Module Error Hook
B) Global Error Hook
If the kernel detect an error condition it will first call the module error hook and if it is not available call the global
error hook. Error hooks are normal error handling functions and must be written by the user. Depending on the type
of error (fatal or nonfatal) it will not be possible to return from an error hook.
If there are no error hooks present the kernel will enter an infinite loop (at label SC_ERROR) and all interrupts
are disabled.
Kommentare zu diesen Handbüchern