SRR Module is an open-source project maintained by Cogent, and distributed under the a GNU General Public License (GPL). It provides synchronous message passing, asynchronous event notification (proxies), and user-space interrupt handling for the Linux operating system. Synchronous message passing is a fast, flexible, and robust IPC mechanism, particularly useful for building systems composed of multiple co-operating processes.
The implementation of the SRR Module was inspired by the QNX operating system. It allows one process or thread to send a message to another process or thread. The first process waits until the second process replies. This message-passing capability between processes has been used for over a decade as a reliable way to create flexible, modular program architectures.
Other functions in addition to the basic send-receive-reply mechanism include proxies (queued asynchronous events), timed delivery of proxies and signals, triggering of proxies between tasks, and user-space interrupt handling. The addition of thread support allows proxies and synchronous messages to be used as inter-thread synchronization and communication facilities. Proxies can also be used to solve several common race conditions associated with signals. The SRR Module includes an API library written in C and a QNX 4 compatibility layer.
The SRR Module is very stable and extremely fast, at approximately 80% of QNX 4's performance on the same hardware.
What's New in This Release:
· This release changes the work handlers to match changes made in version 2.6.20 of the Linux kernel.
· Module compilation has been fixed.
· Support has been added for messages larger than 3 MBytes.
· Workarounds have been added for udev issues.
· Potential timer IRQ race conditions have been fixed.
· Spinlocks have been replaced with mutexes where swapping is allowed.
· Relay functions have been added.
· clock_getres() has been implemented.
· Unnecessary OOPS messages have been removed.
· The Sendmx() return value has been fixed.
Product's homepage