Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Added some RCE-specific components to the "concurrency" package. These include low-level synchronization primitives plus a CircularFifo template; the FIFO is actually implemented with the lock-free LlScFifo which uses lwarx/stwc for synchronization. There is also NoInterruptFifo which uses critical sections created by turning off interrupts; this is intended as an alternate means of implementing CircularFifo. Class InterruptGuard uses Initialization Is Resource Allocation (IIRA) to allow easy definition of blocks of code to be run with interrupts off, automatically turning them back on when the block is exited.

Additions to package: service

Added the TimerGuard template to the "service" package (also for RCE only). This uses IIRA to calculate the number of PowerPC time base ticks needed to execute a code block and passes the result to a user-specified object.

...