summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* Separate out poller/pollq from basic socket operations.Garrett D'Amore2017-07-04
|
* Improved routines for list management.Garrett D'Amore2017-07-04
|
* All pipes are nonblocking.Garrett D'Amore2017-07-04
|
* Rename aio functions. Enhanced epdesc_finish.Garrett D'Amore2017-07-04
|
* IPC & TCP negotiation done using aio. Remove old sync send/recv.Garrett D'Amore2017-07-03
|
* inproc transport uses aio for connect/accept.Garrett D'Amore2017-07-03
|
* Rename legacy connect/accept as _sync for now.Garrett D'Amore2017-07-03
|
* Remove the unused infinite timeout versions of msgq.Garrett D'Amore2017-07-03
|
* Delete unused msgq_notify. (We use aios instead.)Garrett D'Amore2017-07-03
|
* Use common aio cancellation.Garrett D'Amore2017-07-02
|
* More aio name cleanups.Garrett D'Amore2017-07-02
|
* Remove the extra _aio_ part of pipe send and recv functions.Garrett D'Amore2017-07-02
|
* pipe_send and recv can be void.Garrett D'Amore2017-07-02
|
* Transports allocate their pipe structures during connect & accept.Garrett D'Amore2017-07-02
|
* Properly initialize eps during listen.Garrett D'Amore2017-06-30
|
* pipedesc_read/write -> pipedesc_send/recv.Garrett D'Amore2017-06-30
|
* More progress on POSIX async connect stuff.Garrett D'Amore2017-06-30
| | | | | | | | | Note that we're going to refactor this again, for both TCP and IPC, to actually push the endpoint abstraction further down instead of using a combined "socket" abstraction. This may help solve other problems, such as parallel outgoing connections. Nonetheless, most of the work to make POSIX sockets fully async is now done.
* IPC fixes: correct handling of path removal, and path absence.Garrett D'Amore2017-06-30
|
* Fixes for IPC: don't try to disable Nagle, and use SUN_LEN properly.Garrett D'Amore2017-06-29
|
* More plumbing for async connections.Garrett D'Amore2017-06-29
|
* Begin work on async connect/accept for POSIX. Not referenced yet.Garrett D'Amore2017-06-29
|
* Use common POSIX socket handling for IPC.Garrett D'Amore2017-06-29
|
* Avoid Solaris / illumos namespace collision.Garrett D'Amore2017-06-29
|
* Use common socket handling on POSIX (tcp done, ipc pending.)Garrett D'Amore2017-06-29
|
* Adjust npds count properly.Garrett D'Amore2017-06-29
|
* Pass cancel of IPC and TCP all the way down to POSIX pipedescs.Garrett D'Amore2017-06-29
|
* We don't need pipe_hold or pipe_rele anymore.Garrett D'Amore2017-06-28
|
* 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
|
* Cancellation plumbing for message queues.Garrett D'Amore2017-06-27
|
* Put errors go on the putq.Garrett D'Amore2017-06-27
|
* 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.
* More race condition fixes.Garrett D'Amore2017-06-26
|
* Set the expiration under lock (data race).Garrett D'Amore2017-06-26
|
* Fix uninitialized use (thanks valgrind.)Garrett D'Amore2017-06-26
|
* Adding mutex lock during fini to prevent false positive data race.Garrett D'Amore2017-06-25
|
* Simplify timer locks, hopefully resolving potential deadlock.Garrett D'Amore2017-06-25
|
* Fix a few race condition panics.Garrett D'Amore2017-06-25
|
* Clear the owner while *still* holding the lock.Garrett D'Amore2017-06-25
|
* Remove stale endpoint reap stuff. Note that req/rep fails sometimes.Garrett D'Amore2017-06-24
|
* Protocols keep their own reference counts.Garrett D'Amore2017-06-24
|
* Start undoing the recursive references -- KISS.Garrett D'Amore2017-06-22
|
* Don't acquire the lock if the endpoint isn't on a list.Garrett D'Amore2017-06-22
|
* Use ep_closed to track state (disambiguate name.)Garrett D'Amore2017-06-22
|
* Note that we have work to do to properly clean up. TBD.Garrett D'Amore2017-06-22
|
* Simplify endpoint pipe startup. Fix lost pipe on closed ep.Garrett D'Amore2017-06-22
|
* Additional mutex debugging support.Garrett D'Amore2017-06-22
|
* Improve debugging and eliminate dead code in objhash.Garrett D'Amore2017-06-21
|
* Expose a library finalizer suitable for atexit().Garrett D'Amore2017-06-21
|
* Make APIs for holding references more consistent.Garrett D'Amore2017-06-21
|