aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-09 23:45:21 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-11 11:03:12 -0800
commit713b80f440cb414cd0b856bde0ea1b31f939777f (patch)
tree1186c42418559c85719023bde3e919aa2df7fcef /src/supplemental
parentcbe9a27ef7485977fbc7c713376b096b6723da3d (diff)
downloadnng-713b80f440cb414cd0b856bde0ea1b31f939777f.tar.gz
nng-713b80f440cb414cd0b856bde0ea1b31f939777f.tar.bz2
nng-713b80f440cb414cd0b856bde0ea1b31f939777f.zip
refactor initialization/finalization
Applications must now call nng_init(), but they can supply a set of parameters optionally. The code is now safe for multiple libraries to do this concurrently, meaning nng_fini no longer can race against another instance starting up. The nni_init checks on all public APIs are removed now.
Diffstat (limited to 'src/supplemental')
-rw-r--r--src/supplemental/http/http_public.c6
-rw-r--r--src/supplemental/tls/tls_common.c16
2 files changed, 0 insertions, 22 deletions
diff --git a/src/supplemental/http/http_public.c b/src/supplemental/http/http_public.c
index e493a994..633f83c7 100644
--- a/src/supplemental/http/http_public.c
+++ b/src/supplemental/http/http_public.c
@@ -20,7 +20,6 @@ int
nng_http_req_alloc(nng_http_req **reqp, const nng_url *url)
{
#ifdef NNG_SUPP_HTTP
- nni_init();
return (nni_http_req_alloc(reqp, url));
#else
NNI_ARG_UNUSED(reqp);
@@ -53,7 +52,6 @@ int
nng_http_res_alloc(nng_http_res **resp)
{
#ifdef NNG_SUPP_HTTP
- nni_init();
return (nni_http_res_alloc(resp));
#else
NNI_ARG_UNUSED(resp);
@@ -64,7 +62,6 @@ nng_http_res_alloc(nng_http_res **resp)
int
nng_http_res_alloc_error(nng_http_res **resp, uint16_t code)
{
- nni_init();
#ifdef NNG_SUPP_HTTP
return (nni_http_res_alloc_error(resp, code));
#else
@@ -510,7 +507,6 @@ nng_http_handler_alloc(
nng_http_handler **hp, const char *uri, void (*cb)(nng_aio *))
{
#ifdef NNG_SUPP_HTTP
- nni_init();
return (nni_http_handler_init(hp, uri, cb));
#else
NNI_ARG_UNUSED(hp);
@@ -677,7 +673,6 @@ int
nng_http_server_hold(nng_http_server **srvp, const nng_url *url)
{
#ifdef NNG_SUPP_HTTP
- nni_init();
return (nni_http_server_init(srvp, url));
#else
NNI_ARG_UNUSED(srvp);
@@ -836,7 +831,6 @@ int
nng_http_client_alloc(nng_http_client **clip, const nng_url *url)
{
#ifdef NNG_SUPP_HTTP
- nni_init();
return (nni_http_client_init(clip, url));
#else
NNI_ARG_UNUSED(clip);
diff --git a/src/supplemental/tls/tls_common.c b/src/supplemental/tls/tls_common.c
index b197af91..aa34b533 100644
--- a/src/supplemental/tls/tls_common.c
+++ b/src/supplemental/tls/tls_common.c
@@ -258,9 +258,6 @@ nni_tls_dialer_alloc(nng_stream_dialer **dp, const nng_url *url)
my_url.u_scheme += 4;
}
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
if ((d = NNI_ALLOC_STRUCT(d)) == NULL) {
return (NNG_ENOMEM);
}
@@ -420,9 +417,6 @@ nni_tls_listener_alloc(nng_stream_listener **lp, const nng_url *url)
my_url.u_scheme += 4;
}
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
if ((l = NNI_ALLOC_STRUCT(l)) == NULL) {
return (NNG_ENOMEM);
}
@@ -1193,10 +1187,6 @@ nng_tls_config_alloc(nng_tls_config **cfg_p, nng_tls_mode mode)
size_t size;
int rv;
- if ((rv = nni_init()) != 0) {
- return (rv);
- }
-
eng = nni_atomic_get_ptr(&tls_engine);
if (eng == NULL) {
@@ -1252,8 +1242,6 @@ nng_tls_engine_name(void)
{
const nng_tls_engine *eng;
- nni_init();
-
eng = nni_atomic_get_ptr(&tls_engine);
return (eng == NULL ? "none" : eng->name);
@@ -1264,8 +1252,6 @@ nng_tls_engine_description(void)
{
const nng_tls_engine *eng;
- nni_init();
-
eng = nni_atomic_get_ptr(&tls_engine);
return (eng == NULL ? "" : eng->description);
@@ -1276,8 +1262,6 @@ nng_tls_engine_fips_mode(void)
{
const nng_tls_engine *eng;
- nni_init();
-
eng = nni_atomic_get_ptr(&tls_engine);
return (eng == NULL ? false : eng->fips_mode);