Services and Modeling for Embedded Software Development
Embecosm divider strip
Prev  Next

7.3.1.  Mapping Signals to Class Instances

The operating system signal handlers require C style linkage, so cannot be used with C++ member functions (the same issue addressed by the Or1ksim wrapper in Section 4.2.6). Thus the SIGIO handler will be a static function. However each instance (there could be multiple terminals in a simulation) will have a different file descriptor, which can be used to identify the owning class instance.

The set of mappings from file descriptor to class instance is held in a linked list with static head pointer. The struct Fd2Inst is provided for that list, with entries for the file descriptor, instance and a pointer to the next in the list.

Embecosm divider strip