From 568a84ed2d3d41da5ca64cde15a677237fffd991 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sat, 21 Jan 2017 17:40:04 -0800 Subject: Fix leaks in bus, socket leaks, tighten up close-side refcnting. This does a few things. First it closes some preexisting leaks. Second it tightens the overall close logic so that we automatically discard idhash resources (while keeping numeric values for next id etc. around) when the last socket is closed. This then eliminates the need for applications to ever explicitly terminate resources. It turns out platform-specific resources established at nni_init() time might still be leaked, but it's also the case that we now no longer dynamically allocate anything at platform initialization time. (This presumes that the platform doesn't do so under the hood when creating critical sections or mutexes for example.) --- src/nng.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/nng.h') diff --git a/src/nng.h b/src/nng.h index c6d733d1..8dc3fedd 100644 --- a/src/nng.h +++ b/src/nng.h @@ -372,6 +372,12 @@ NNG_DECL int64_t nng_stat_value(nng_stat *); // which means that messages from one side are forwarded to the other. NNG_DECL int nng_device(nng_socket, nng_socket); +// Sleep for the specified usecs. This is intended for use by test +// programs (to avoid needing to expose the rest of the private details). +// Applications are discouraged from using this -- use your platform +// time services instead. +NNG_DECL void nng_usleep(uint64_t); + // Pollset functionality. TBD. (Note that I'd rather avoid this // altogether, because I believe that the notification mechanism I've // created offers a superior way to handle this. I don't think many -- cgit v1.2.3-70-g09d2