System Object Destruction

EPOS abstracts system entities as ordinary C++ objects, thus promoting usability. At some points, however, the semantics of operating system and programming language do not seem to fit together easily. Consider for instance the case in which a system abstraction (say thread), created by the application programmer with new, is destroyed by the operating system (e.g. exit). Or the counterpart situation: the application programmer deleting a thread that is currently being manipulated by the operating system.

A careful binding between programming language and operating system must be defined to prevent undesirable side effects.

To do

Modify the implementation of this didactic version of OpenEPOS such that the delete C++ operation preserves system consistency at the same time it honors the programming language semantics.