| Commit message (Collapse) | Author | Age |
|\
| |
| | |
Fix shutdown semantics.
|
|\ \
| | |
| | | |
Fix a race in transport.
|
| | |
| | |
| | |
| | | |
Document what they should be, ensure they're triggered, and fix what was broken.
|
| |/
|/|
| |
| | |
Remove existing UDS listeners IFF they are a socket before trying to create a new socket.
|
|\ \
| | |
| | | |
Fixing memleak.
|
|\ \ \
| | | |
| | | | |
Fix refcounting bug leading to objects not being cleaned up
|
| |/ /
|/| |
| | |
| | | |
- Fixes #542
|
| | |
| | |
| | |
| | |
| | | |
This prevents a bug whereby not all fds were destroyed at application
exit.
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
I removed the condition variable here a little while ago to remove a
thundering herd. Unfortunately it introduces a race if we are calling
back an application defined object whilst destroying. Reintroduce the
cv, and guard it's usage closely to avoid the herd (additionally, it's
not needed for stream deletion, so we keep it out of that).
|
|/ |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
Makefile
|
|\ \ |
|
| | |\
| | |/
| |/|
| | |
| | |
| | | |
Conflicts:
Makefile
templates/Makefile.template
|
| | | |
|
| | | |
|
| |/
|/| |
|
| |\
| | |
| | | |
Cleaning up our posix definition / usage.
|
| |/
|/|
| |
| |
| |
| |
| | |
-) Let's not use _POSIX_SOURCE. It usually implies too much C99. _BSD_SOURCE would be the right thing to do here.
-) _BSD_SOURCE is getting deprecated by glibc, so we also have to define _DEFAULT_SOURCE under Linux.
-) accept4 and eventfd arn't as old as we may think; let's detect for it.
-) stdint.h interferes with all these definitions if included too early; let's move it down.
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
Epoll based multipoller
|
| | |
|
| |
| |
| |
| |
| |
| | |
Fixes #478.
(oops)
|
|\ \
| | |
| | | |
Added placeholder for cpu_windows.c implementation
|
| | | |
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Adding call host (:authority header) check in the secure channel.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1. Close the epoll_fd at destroy
2. Finish the comment about signal/broadcast on the cv
3. Rename GPR_POSIX_MULTIPOLL_WITH_EPOLL to
GPR_LINUX_MULTIPOLL_WITH_EPOLL
|
| | | |
|
| | |\
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
Windows port of iomgr.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a multipoller based on epoll rather than poll.
Note that this implementation is aimed at correctness rather than
performance, although it should immediately have better scalability to
large numbers of FDs, both due to epoll's O(1) sized API and due to not
needing to wake up polling threads to do interest set changes.
One notable difference here is that we directly attach a wakeup fd
rather than using the freelisting kick mechanism that the poll() based
implementations use, because modifying the epoll set to use a different
kick fd each time isn't free.
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
This avoids an unnecessary upgrade to multipoller if there was no
do_work called between an orphan and a subsequent add. Additionally, it
avoids the need for epoll based multipoller to check for this case in
its upgrade code by ensuring all existing fds are valid at upgrade time.
|
|\ \ \
| | | |
| | | | |
Work towards removing some contention
|
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
- Fixes #405.
- This change is not tested as it should (only end to end and no
negative testing). Will do better when we have testing framework
for filters.
|
| | |
| | |
| | |
| | |
| | |
| | | |
I missed a clause in section 4.4 of the HPACK spec when implementing
this stuff. Removes an errant assert and correctly handles adding large
entries to the HPACK table by flushing it and leaving it empty.
|
| | | |
|
| | |
| | |
| | |
| | | |
Fixes #451
|
| | | |
|
| | |\
| |_|/
|/| | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Change the fd watcher from being O(active_pollers) to O(1), reducing time spent under the fd->watcher_mu lock, and ultimately scaling us much better.
|
| | | |
|
|\| | |
|
|\ \ \ |
|