bsnmpclient(3): make it thread-safe

Reviewed By:	harti
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D27336
This commit is contained in:
Edward Tomasz Napierala 2020-12-29 14:59:31 +00:00
parent a7972b4904
commit 89e3d5671b
3 changed files with 4 additions and 4 deletions

View File

@ -1019,7 +1019,7 @@ asn_oid2str_r(const struct asn_oid *oid, char *buf)
char * char *
asn_oid2str(const struct asn_oid *oid) asn_oid2str(const struct asn_oid *oid)
{ {
static char str[ASN_OIDSTRLEN]; __thread static char str[ASN_OIDSTRLEN];
return (asn_oid2str_r(oid, str)); return (asn_oid2str_r(oid, str));
} }

View File

@ -71,7 +71,7 @@
#define DEBUG_PARSE 0 #define DEBUG_PARSE 0
/* global context */ /* global context */
struct snmp_client snmp_client; __thread struct snmp_client snmp_client;
/* List of all outstanding requests */ /* List of all outstanding requests */
struct sent_pdu { struct sent_pdu {
@ -86,7 +86,7 @@ struct sent_pdu {
}; };
LIST_HEAD(sent_pdu_list, sent_pdu); LIST_HEAD(sent_pdu_list, sent_pdu);
static struct sent_pdu_list sent_pdus; __thread static struct sent_pdu_list sent_pdus;
/* /*
* Prototype table entry. All C-structure produced by the table function must * Prototype table entry. All C-structure produced by the table function must

View File

@ -114,7 +114,7 @@ struct snmp_client {
}; };
/* the global context */ /* the global context */
extern struct snmp_client snmp_client; extern __thread struct snmp_client snmp_client;
/* initizialies a snmp_client structure */ /* initizialies a snmp_client structure */
void snmp_client_init(struct snmp_client *); void snmp_client_init(struct snmp_client *);