From: Dave S. <D.T...@cs...> - 2000-11-17 10:24:12
|
> Could someone read the lines I have added, and validate or reject them? I haven't worked through this in detail yet, but I think it's more or less correct. At one point we _were_ freeing this structure as part of removing a request (actually as part of 'free_agentx_request' which feels "right"), but doing so regardless of the PDU/pass combination. This fixed the memory leak, but meant the agent crashed on (valid) SETs! Your code is essentially doing the same thing, but properly this time. I still need to fix the handling of failed SETs, and check things work properly with that (and I'd like to tweak the way your code works a bit, to simplify maintentance), but thanks for tracking this down. > I guess there is the same kind of memory leak for the GETBULK. Well, yes, in theory. But the UCD agent implements the GETBULK (SNMP) request as a series of (AgentX) GETNEXT requests. The AgentX GETBULK request is never issued by the current UCD master (though the subagent ought to handle it correctly). I'll make a note to bear this in mind if the master agent is ever extended along these lines. Dave |