How can Gedae access shared memory from a primitive?
Discussion Shared memory resources are often used to interface external applications or I/O devices with Gedae. For example a radar processor might dump the data from the radar array into shared memory which the Gedae graph must pick up and process. Solution A number of Gedae applications have been built which access shared memory resources. Invariably the way this has been done is to encapsulate the shared memory access in a primitive function box, in a command program, or both. To encapsulate the shared memory access in a primitive the primitive will typically have to create a handle to the shared memory resource. This is typically done in the reset method as: Reset: { handle = shm_create(Name,Size); if (handle == 0) { OStaticFailed(“Shared Memory Creation Failed”); } …. } In addition the reset method may open up semaphores or mutexes that are used to indicate when data is available in the shared memory. The Apply method then accesses the shared memory. For example the Apply method