[AGENT++] blocking request

Enzo Vigano enzo.vigano at thalesatm.com
Wed Apr 27 18:07:23 CEST 2005


Hi all,
I'm using Agent++ 3.5.20a and Snmp++ 3.2.13a on a Linux machine (RH9A).

I've tried this kind of "instrumentation code" in a class generated from
AgenPro:


void XXXXXXYYYYYYY::get_request(Request* req, int ind)
{
//--AgentGen BEGIN
int i=0;
while(i<30){
sleep(1);
cout<<"Loop number:"<<i<<endl;
i++;
}

//--AgentGen END
MibLeaf::get_request(req, ind);
}

I'm doing get request with long Snmp time out.
I send a get request that starts the loop.
During the loop I perform any kind of other Snmp request for other OIDs and
the response comes.
But if I perform an Snmp get request on the same OID for which I'm already
waiting the response (Loop above)
from now on all snmp request on any other OID are blocked untill the loop is
finished.


This is only an example but in my real code I've some "instrumentation code"
that takes a long time (10/20 secs) to be performed.
And this "blocking" situation is a problem for my application.

Is this a correct behaviour?
Can anyone help me?
Regards.
Enzo.






More information about the AGENTPP mailing list