Multiple Thread Creation For Event Handling Of ACA
(Doc ID 1966029.1)
Last updated on AUGUST 21, 2016
Applies to:Oracle Communications EmbeddedMIND - Version 3.5.0 and later
Information in this document applies to any platform.
In the integration work, there is a requirement to handle multiple requests from ACA application. In the existing eMIND code, upon receiving an event, ACA calls the hander registered for that event. ACA also passes the "agent Shell" as argument to handler as shown below:
The event hander syntax is as shown below from our code:
In the definition of the above handler we are using agent shell variable to set/get/callmethod for classes with moid info from the argument "event"; however, this is sequential, events are getting handed one by one which takes some time for processing the ACA gets stuck until the response for the "get/set" call.
Hence we want to unblock ACA, so we have tried creating threads(pthread_create) by passing "agent shell" as argument.
But we are not able to pass this as this is some c++ class variable or something.
So I have created another shell agent as "g_ACA_shell" which is global variable which can be used across different threads; however, when this variable is accessed, the thread gets killed.
1. Is it possible to create multiple threads for each event handling?
2. Is it possible to pass "agent shell" as argument to threads?
3. If point 2 is not possible, is it possible to use this global variable "g_ACA_shell"?
4. Is there anyway to handle multiple events simultaneously and dynamically?
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document