aboutsummaryrefslogtreecommitdiff
path: root/src/core/init.c
Commit message (Collapse)AuthorAge
* Don't shut down taskq too soon.Garrett D'Amore2017-08-05
| | | | | | | With the new reapers, we've seen some problems caused by the reaper running after the taskq that they have to wait on (completion tasks for aios) are destroyed. We need to make sure that we tear down major subsystems in the correct order.
* Fix locking errors in endpoints, and simplify some logic.Garrett D'Amore2017-07-16
| | | | | | | This cleans up the pipe creation logic greatly, and eliminates a nasty potential deadlock (lock-order incorrect.) It also adds a corret binary exponential and randomized backoff on both accept and connect.
* AIO timeouts work correctly now, using their own timer logic.Garrett D'Amore2017-07-16
| | | | | | | | We closed a few subtle races in the AIO subsystem as well, and now we were able to eliminate the separate timer handling the MQ code. There appear to be some opportunities to further enhance the code for MQs as well -- eventually probably the only access to MQs will be with AIOs.
* Give up on uncrustify; switch to clang-format.Garrett D'Amore2017-07-10
|
* Refactor stop again, closing numerous races (thanks valgrind!)Garrett D'Amore2017-06-28
|
* Clean up the pipe system (no leaks).Garrett D'Amore2017-06-28
|
* Note that we have work to do to properly clean up. TBD.Garrett D'Amore2017-06-22
|
* Eliminate pipes global idhash.Garrett D'Amore2017-06-09
|
* Create the pipe object hash (not used yet).Garrett D'Amore2017-06-07
|
* Start of using objhash for endpoints.Garrett D'Amore2017-06-06
|
* New object hash implementation, used by socket (to start).Garrett D'Amore2017-06-05
|
* Timer implementation. Operations can timeout now?Garrett D'Amore2017-03-03
|
* Taskq implementation.Garrett D'Amore2017-02-18
|
* Add nni_ep_hold, nni_ep_hold_close, nni_ep_rele, nng_endpoint_close.Garrett D'Amore2017-01-24
|
* Fix leaks in bus, socket leaks, tighten up close-side refcnting.Garrett D'Amore2017-01-21
| | | | | | | | | | | | | | 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.)
* fixes #18 Sockets should be uint32_t's (handles) not pointers.Garrett D'Amore2017-01-20
|
* Pipe IDs are now tracked on global ID hashes.Garrett D'Amore2017-01-17
|
* New ISAAC pRNG. This replaces other local hacks for random data.Garrett D'Amore2017-01-08
| | | | | | Platforms must seed the pRNGs by offering an nni_plat_seed_prng() routine. Implementations for POSIX using various options (including the /dev/urandom device) are supplied.
* Transport renaming phase 1.Garrett D'Amore2017-01-02
|
* More C99-ification. Also end the _t thing for types (ISO C rules).Garrett D'Amore2016-12-22
|
* Uncrustify configuration, and shorter copyright banners, plus reformatGarrett D'Amore2016-12-21
| | | | code with uncrustify. (Minor adjustments.) No more arguments!
* More robust platform definition support.Garrett D'Amore2016-12-14
The idea is that someday it will be possible to just concatenate the entire set of source files into a single giant source file, for systems that want to work this way. As a result, the build system now compiles every file, although some of them will not have any definitions.