Hello, all,

I'm noticing some of my SNMP polling threads (in an application)
freeze from time to time.  GDB says that it's hanging up on "recvmsg",
and some code hunts show that it's the one in "netsnmp_udp_recvfrom".
If I GDB in and wait for a few minutes, the threads unfreeze and go
about their business normally.

My thought is that the SIGTRAP that GDB sends (or the halt of
execution) messes up the system "recvmsg" call and causes it to
finally return.  I've had these calls run for half a day, only to
immediately return after I run GDB (very confusing for me the first
time around).  Subsequent tests confirm this behaviour.

So, looking at "snmplib/snmpUDPDomain.c" on line 141, I see a recvmsg
*without* a prior "select" to make sure that there is data to be had.
Should there be a "select" beforehand?

Any help would be appreciated.

Thank you,
Doug

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Net-snmp-coders mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/net-snmp-coders

Reply via email to