Is Net-SNMP thread safe?
Strictly speaking, no. However, it is possible to use the library within a multi-threaded management application. This is covered in detail in the file README.thread (shipped with the standard distribution), but can be summarised as follows: • Call ‘snmp_sess_init()’ prior to activating any threads. This reads in and parses MIB information (which isn’t thread-safe) as well as preparing a session structure for subsequent use. • Open an SNMP session using ‘snmp_sess_open()’ which returns an opaque session handle, which is essentially independent of any other sessions (regardless of thread). • Resource locking is not handled within the library, and is the responsibility of the main application. The Net-SNMP agent has not been designed for multi-threaded use. It should be safe to use the agent library to embed a subagent within a threaded application as long as *all* SNMP-related activity (including generating traps, and parsing MIBs) is handled within a single thread. The command-line too