aboutsummaryrefslogtreecommitdiff
path: root/src/platform/posix/posix_config.h
Commit message (Collapse)AuthorAge
* fixes #1526 NNG_USE_CLOCKID Bug?Garrett D'Amore2021-11-27
| | | | | | | This makes CLOCK_MONOTONIC the default (as it should have been) for platforms that have it defined, except for Apple platforms which lack support for using anything other than the real time clock with condition variables. (And unfortunately silently ignore attempts to do otherwise.)
* fixes #1038 Linux should use getentropy or getrandomGarrett D'Amore2019-12-24
|
* kqueue: add kqueue-based pollq implementationLiam Staskawicz2018-03-02
|
* Conditional platform inclusion cleanups.Garrett D'Amore2017-08-21
| | | | | | | | | | We only compile files that are appropriate for the platform. (We still have guards in place, to allow for a future single .C file to be built from all the sources.) We also remove the subsystem defines; if a new platform needs to deviate from POSIX in ways beyond what we intended here, then that platform should just copy those parts into a new platform directory, rather than cross including portions from POSIX.
* Give up on uncrustify; switch to clang-format.Garrett D'Amore2017-07-10
|
* SRWLocks FTW!Garrett D'Amore2017-07-07
| | | | | | | | | Modern Windows (Vista and later) have light weight Slim Read/Write locks which only occupy 64 bits, and don't require any memory allocation to create. While here clean up a few more unreferenced variables found with the Microsoft compilers.
* Start of progress on Windows. Name resolution and IOCP work begins.Garrett D'Amore2017-07-07
|
* Initial swag at asynchronous name resolution.Garrett D'Amore2017-07-06
|
* Separate out poller/pollq from basic socket operations.Garrett D'Amore2017-07-04
|
* Convert to POSIX polled I/O for async; start of cancelable aio.Garrett D'Amore2017-06-27
| | | | | | | | | | | | | | | | | | This eliminates the two threads per pipe that were being used to provide basic I/O handling, replacing them with a single global thread for now, that uses poll and nonblocking I/O. This should lead to great scalability. The infrastructure is in place to easily expand to multiple polling worker threads. Some thought needs to be given about how to scale this to engage multiple CPUs. Horizontal scaling may also shorten the poll() lists easing C10K problem. We should look into better solutions than poll() for platforms that have them (epoll on Linux, kqueue on BSD, and event ports on illumos). Note that the file descriptors start out in blocking mode for now, but then are placed into non-blocking mode. This is because the negotiation phase is not yet callback driven, and so needs to be synchronous.
* Async I/O for POSIX implemented using threads (untested.)Garrett D'Amore2017-02-24
|
* Add more platforms (the *BSDs, SunOS/illumos) and update docs slightly.Garrett D'Amore2017-01-21
|
* 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.
* Condvars on MacOS X (even 10.12) don't work with monotonic times.Garrett D'Amore2016-12-27
|
* Endpoint dialer implemented.Garrett D'Amore2016-12-22
|
* Use C99 structure initializers FTW. Various other changes.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!
* New msgqueue implementation, use CLOCK_MONOTONIC if available.Garrett D'Amore2016-12-11
Start of socket definitions.