[SNMP4J] Bug in snmp4j-1.9.3 on PendingRequest.run()
Iker Almandoz
ikeralmandoz.lists at gmail.com
Tue Jul 22 19:24:11 CEST 2008
Hi Frank,
Thanks a lot for doing the efficiency updates and doing the 1.9.3 release.
I started using the new version immediately and came across the following:
In the PendingRequest.run() method, you have added
if ((m_key == null) || (m_pdu == null) || (m_target == null) ||
(m_transport == null) || (m_listener == null)) {
if (logger.isDebugEnabled()) {
logger.debug("PendingRequest canceled key="+m_key+", pdu="+m_pdu+
", target="+m_target+", transport="+m_transport+", listener="+
m_listener);
}
return;
}
However, when I use:
public ResponseEvent send(PDU pdu, Target target) throws IOException {
return send(pdu, target, null);
}
Which calls
public ResponseEvent send(PDU pdu, Target target,
TransportMapping transport) throws IOException {
if (!pdu.isConfirmedPdu()) {
sendMessage(pdu, target, transport, null);
return null;
}
if (timer == null) {
createPendingTimer();
}
SyncResponseListener syncResponse = new SyncResponseListener();
PendingRequest retryRequest = null;
synchronized (syncResponse) {
PduHandle handle = null;
PendingRequest request =
new PendingRequest(syncResponse, target, pdu, target, transport);
Then the PEndingRequest is initialized with m_transport = null
This is somehow creating a problem in my code making it hang when I try a
request that fails,
Best regards,
Iker
More information about the SNMP4J
mailing list