| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
| |
-) 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.
|
|\
| |
| | |
Not all Linuxes are equal, and secure_getenv isn't always there.
|
| |
| |
| |
| |
| | |
Let's include <features.h> to figure out if the system we're on is supporting secure_getenv, and adapt accordingly.
I suspect we might want to do the same with epoll, as it was added to glibc in 2.3.2, and eventfd has been added to glibc in 2.8.
|
| | |
|
|\| |
|
| |\
| | |
| | | |
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.
|
| | |
|
| |\
| |/
|/| |
|
| | |
|
|\ \ |
|
| |\ \
| | | |
| | | | |
Adding support for loading the SSL roots from an environment variable.
|
| | | | |
|
| | | | |
|
|\| | | |
|
| | | | |
|
| |\ \ \ |
|
| | | | |\
| | | |_|/
| | |/| |
| | | | |
| | | | | |
Conflicts:
include/grpc/support/time_win32.h
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
-) Client code is now threadsafe.
-) The echo_client code runs and succeeds.
|
| | | | | |
|
| | |\ \ \ |
|
| | | |\ \ \
| | | | | | |
| | | | | | | |
Remove timeval functions
|
|\ \ \ \ \ \ \
| | |_|/ / / /
| |/| | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
They only had one caller, which could easily be converted to use
timespec instead of timeval.
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The problem is that for the typedef to work we need _POSIX_C_SOURCE to
be defined properly before any file that uses gpr_timespec includes
anything. This is extremely fragile unless we change CFLAGS, which
probably isn't worth doing for this.
|
| | | | | | |
|
| | | | |/
| | | |/|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Caveats:
-) The win32 pollset isn't threadsafe (yet).
-) Only client code is implemented.
-) Only very simple code has been tested with it yet.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Added cross-platform implementation of gpr_thd_currentid();
- OpenSSL still shows some TSAN errors on OPENSSL_cleanse which is
inherently not thread-safe but this should not matter:
see
http://stackoverflow.com/questions/26433772/why-does-openssl-cleanse-look-so-complex-and-thread-unsafe
|
| | | | |
|
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| | |
- Had to add support for files and environment variables as well.
- I can't compile on windows so I'm sure there will be some issues.
- Tested end-to-end with the simple ssl fullstack test.
|
|/ |
|
|
|
|
|
| |
Rename all core API functions that are on their way to deprecation with
an _old tag across all wrappings.
|
| |
|
|
|
|
| |
fixing all subsequent errors.
|
|\
| |
| | |
Add support for eventfd based kicking on linux.
|
|\ \ |
|
| |\ \ |
|
| | | |\
| | | |/
| | |/|
| | | |
| | | | |
This includes nuking the special pollset_kick_windows.h, since it is no
longer relevant.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This introduces the wakeup fd interface, corresponding approximately to
the existing Google version, complete with a ported giant detailed usage
comment.
The implementation has two layers, "specialized" and "fallback". The
specialized layer is intended to be a suitable platform specific
implementation like eventfd, whereas "fallback" is probably pipe, with
runtime detection of whether the specialized version works on this
system (currently stubbed out).
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | | |
Remove uses of sprintf
|
| | | | |
|
| | | | |
|
| | | | |
|
|\| | | |
|
| | |\ \
| | |/ /
| |/| | |
|
| |\ \ \
| | | | |
| | | | | |
Windows fixes
|