| Commit message (Collapse) | Author | Age | |
|---|---|---|---|
| * | New ISAAC pRNG. This replaces other local hacks for random data. | Garrett D'Amore | 2017-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. | ||
| * | Move to generic socket & pipe workers, and up to 4 each. | Garrett D'Amore | 2017-01-08 |
| | | | | | | This should eliminate all need for protocols to do their own thread management tasks. | ||
| * | Pipe bail shouldn't mess with lists. Doh! | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | Uncrustify fix for last. | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | Race condition fix attempt. | Garrett D'Amore | 2017-01-07 |
| | | |||
| * | Simplify locking for protocols. | Garrett D'Amore | 2017-01-07 |
| | | | | | | | | | | In an attempt to simplify the protocol implementation, and hopefully track down a close related race, we've made it so that most protocols need not worry about locks, and can access the socket lock if they do need a lock. They also let the socket manage their workers, for the most part. (The req protocol is special, since it needs a top level work distributor, *and* a resender.) | ||
| * | Bunch of copyright fixes. | Garrett D'Amore | 2017-01-06 |
| | | |||
| * | Protocol initialization restructuring. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Endpoint renaming. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Transport renaming. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Transport renaming phase 1. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Rename nni_socket to nni_sock. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Use new NNI_ALLOC_STRUCT macro. nni_msg_dup copies options too. | Garrett D'Amore | 2017-01-02 |
| | | |||
| * | Final purge of old threading & synch stuff. | Garrett D'Amore | 2017-01-01 |
| | | |||
| * | Pipe simplifications for thread management. | Garrett D'Amore | 2017-01-01 |
| | | | | | | | | This may also address a race in closing down pipes. Now pipes are always registered with the socket. They also always have both a sender and receiver thread. If the protocol doesn't need one or the other, the stock thread just exits early. | ||
| * | Finally closed the silly endpoint / pipe use-after-free race. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Use after free fix. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Fix races in pipe termination. | Garrett D'Amore | 2016-12-31 |
| | | |||
| * | Factor out repeated protocol code into common. | Garrett D'Amore | 2016-12-29 |
| | | |||
| * | Pipe ID calculations & socket error functions. | Garrett D'Amore | 2016-12-28 |
| | | | | | | | | | | | | The use of platform_next_id was a bit off, because it could give back pipe IDs that were too large (the high order bit must be clear), and in very long running applications serving many connections, the IDs could wrap and lead to duplicates. Also we have added functions to set the recverr or senderr values, which can be used by protocols -- either during initialization, or during filters. (REQ uses this for example.) | ||
| * | Substantial fixes for listen & dialers. | Garrett D'Amore | 2016-12-25 |
| | | | | | | | | | | | At this point listening and dialing operations appear to function properly. As part of this I had to break the close logic up since otherwise we had a loop trying to reap a thread from itself. So there is now a separate reaper thread for pipes per-socket. I also changed lists to be a bit more rigid, and allocations now zero memory initially. (We had bugs due to uninitialized memory, and rather than hunt them all down, lets just init them to sane zero values.) | ||
| * | Pipe pointer was not stored, leading to crash in dial/listen. | Garrett D'Amore | 2016-12-25 |
| | | |||
| * | Expose and implement pipe operations. (nng_pipe_close, nng_pipe_getopt). | Garrett D'Amore | 2016-12-25 |
| | | |||
| * | Endpoint dialer implemented. | Garrett D'Amore | 2016-12-22 |
| | | |||
| * | Work on endpoints. More C99 & type cleanups. | Garrett D'Amore | 2016-12-22 |
| | | |||
| * | Uncrustify configuration, and shorter copyright banners, plus reformat | Garrett D'Amore | 2016-12-21 |
| | | | | | code with uncrustify. (Minor adjustments.) No more arguments! | ||
| * | nni_socket_add_pipe and nni_socket_remove_pipe implementation. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | Better separate public vs. private names. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | Oops... Pipe list initialization was not complete. | Garrett D'Amore | 2016-12-14 |
| | | |||
| * | More comments, and detection of fork-reentrancy. Much effort was spent | Garrett D'Amore | 2016-12-13 |
| | | | | | trying to come to a fork-safe solution, but ultimately we gave up. | ||
| * | More pipe details, and clarified locking / call order comments in transport.h. | Garrett D'Amore | 2016-12-12 |
| | | |||
| * | New pipe stuff. | Garrett D'Amore | 2016-12-12 |
