unsigned int ns_client_requests;
#endif
+#ifdef NS_CLIENT_NEED_NCR_INC
+ISC_NO_SANITIZE_THREAD void
+ns_client_ncr_inc(void) {
+ ns_client_requests++;
+}
+
+ISC_NO_SANITIZE_THREAD unsigned int
+ns_client_ncr_load(void) {
+ return (ns_client_requests);
+}
+#endif
+
static void client_read(ns_client_t *client);
static void client_accept(ns_client_t *client);
static void client_udprecv(ns_client_t *client);
#define ncr_load(x) isc_atomic_xadd((int *)&(x), 0);
extern unsigned int ns_client_requests;
#else
-#define ncr_inc(x) ((x)++)
-#define ncr_load(x) (x)
+void ns_client_ncr_inc(void);
+unsigned int ns_client_ncr_load(void);
+#define NS_CLIENT_NEED_NCR_INC
+#define ncr_inc(x) ns_client_ncr_inc()
+#define ncr_load(x) ns_client_ncr_load()
extern unsigned int ns_client_requests;
#endif